JAVA一个读写文件的题目

有一个文本文件里面有一些数格式如下:2,3,0,1;5,2,4,6;等等现在要打开这个文件读出里面的数用“;”隔开的4个数两两一组作为两个点的坐标,计算这两个点的距离(就... 有一个文本文件里面有一些数 格式如下:
2,3,0,1;5,2,4,6;等等
现在要打开这个文件 读出里面的数用“;”隔开的4个数两两一组作为两个点的坐标,计算这两个点的距离(就是开方(X2-X1)^2+ (Y2-Y1)^2)) 把算出来的距离放在一个数组里面

把这个数组写进一个文件 再读出来并PRINT出来

急用 谢谢 可以加分
有没有具体的程序 因为我看书看不明白 尤其是读写文件这块 可以加分的
展开
 我来答
qinghua9
2009-03-13 · TA获得超过1679个赞
知道大有可为答主
回答量:6101
采纳率:0%
帮助的人:2513万
展开全部
package test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class JavaIo {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

String fileName="c:/test.txt";
String resultFileName="c:/result.txt";
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
String line;
File write = new File(resultFileName);

BufferedWriter bw = new BufferedWriter(new FileWriter(write));

while((line=br.readLine()) != null ){
StringTokenizer st=new StringTokenizer(line,";");
String str1=st.nextToken();

double d1=getTheNumber(str1);

String str2=st.nextToken();

double d2=getTheNumber(str2);
Double value=d2-d1;
System.out.println("差值为"+value);

if(value!=null){
bw.write(value+""+"\r\n");
}

}
bw.close();
br.close();
}

/**
* 获得点之间的值
* @param str1
* @return
*/
private static double getTheNumber(String str1) {
String [] strs=new String [4];
StringTokenizer st1=new StringTokenizer(str1,",");
strs[0]=st1.nextToken();
strs[1]=st1.nextToken();
strs[2]=st1.nextToken();
strs[3]=st1.nextToken();
int i,j,x,y;
i=Integer.valueOf(strs[0]);
j=Integer.valueOf(strs[1]);
x=Integer.valueOf(strs[2]);
y=Integer.valueOf(strs[3]);
double num=Math.sqrt(((i-x)*(i-x))+((j-y)*(j-y)));
return num;
}

}
raymonlu
2009-03-13 · TA获得超过944个赞
知道小有建树答主
回答量:792
采纳率:0%
帮助的人:815万
展开全部
public String getFileContent(String filename, String charsetName) {
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filename), charsetName));
String tmp = br.readLine();
int count = 1;
while (tmp != null && (lineCount > 0 && count <= lineCount || lineCount <= 0)) {
sb.append(tmp);
tmp = br.readLine();
}
br.close();
return sb.toString();
}
String[] tmp = string.split(";");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wujiazhao1988
2009-03-13 · TA获得超过413个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:324万
展开全部
我提供思路:先把整个文件读在一个StringTokenizer中,然后根据token为“;”,把该stringtokenizer分成两个stringtokenizer,然后各个stringtokenizer再由token为“,”分解为4个数即可读取各个数了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lerry117
2009-03-13 · TA获得超过431个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:142万
展开全部
本科里面的基本题目!翻翻书很简单!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式