如何从文件中读取数字并在java中对其执行操作?
这是我的文件信息:如何从文件中读取数字并在java中对其执行操作?,java,file,Java,File,这是我的文件信息: mahdi aspanani 664 22.0 阿里·莫哈达西675 26.0 我想从文件中读取此信息,并计算22.0+26.0 如何在java中执行此操作?假设您的意思是文件内容的结构如下: <string> <string> <int> <summand 1> <string> <string> <int> <summand 2> 不要忘记输入文件名而不是filename 首
mahdi aspanani 664 22.0
阿里·莫哈达西675 26.0
我想从文件中读取此信息,并计算22.0+26.0
如何在java中执行此操作?假设您的意思是文件内容的结构如下:
<string> <string> <int> <summand 1> <string> <string> <int> <summand 2>
不要忘记输入文件名而不是filename
像这样读取文件,每行拆分一行(按空格字符串)。你想怎么做就怎么做为什么要用扫描仪把它分开?扫描程序可以为您进行拆分。首先,您的方法甚至不编译。第二,当我修复它时,它不起作用。@WJS是的,我忘记了一个
)
你用文件名替换了文件名吗?是的,我做了。您的代码中有多个问题。你只读了一行,只在一个空格上拆分。@WJS OP没有提到多行。同时,split方法会在尽可能多的事件上进行拆分。或者您的意思是分隔符必须正好是一个空格?在OP的示例中,它是一个。
try(BufferedReader br=new BufferedReader(new FileReader(filename))){
String[] split=br.readLine().split(" ");
double result=Double.parseDouble(split[3])+Double.parseDouble(split[7]);
//do with it whatever you want
}catch(IOException e){
e.printStackTrace();//or do something else or don't catch it and add it to the signature
}
Scanner input;
String myFileName = "......";
try {
input = new Scanner(new File(myFileName));
double sum = 0;
while (input.hasNextLine()) {
String line = input.nextLine();
String[] vals = line.split("\\s+");
sum += Double.parseDouble(vals[3]);
}
System.out.println("sum = " + sum);
} catch (Exception e) {
e.printStackTrace();
}
}