如何在Java中使用FileReader/bufferedReader从文本文件中获取特定字符串并将其分配给变量?
假设我有一个文本文件如何在Java中使用FileReader/bufferedReader从文本文件中获取特定字符串并将其分配给变量?,java,bufferedreader,filereader,readline,Java,Bufferedreader,Filereader,Readline,假设我有一个文本文件 bob=345 non=4567 4 3 90 5 567 56 777 1 785 852 675 236 5 6 466 345 777 上面的数字是任意的。我希望能够将每个数字分配给一个变量。我有一个3453456,4,5,90的变量。我在考虑进行搜索,这样它会读取每个字符,直到它到达新行,在新行中读取,直到它到达一个“空格”,并将其分配给一个变量,并一直这样做,直到它到达一个空行。然
bob=345 non=4567
4
3 90
5 567
56 777
1
785 852
675 236
5
6 466
345 777
上面的数字是任意的。我希望能够将每个数字分配给一个变量。我有一个3453456,4,5,90的变量。我在考虑进行搜索,这样它会读取每个字符,直到它到达新行,在新行中读取,直到它到达一个“空格”,并将其分配给一个变量,并一直这样做,直到它到达一个空行。然后,我在上面进行的搜索/循环将重复,直到文件结束
现在我连第一条线都没法用。到目前为止,我已经尝试了两种方法
第一种方法是,我想如果我能找出如何得到行尾的索引,我就可以工作了
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
int variable=line.indexOf("non=")+4;
int variable2=line.indexOf("");//line.lastIndexOf('\n',variable);
variable3=Integer.parseInt(line.substring(variable, variable2));}
第二种方法是使用拆分空间,但这不起作用b/c它查找空间直到文件结束而不是行结束
if(line.contains("non=")){
String[] parts = line.split(" ");
String x = parts[0];
String y = parts[0];
}
当您在一行
上实际调用整个文件时,split()
如何处理整个文件?它应该很好用。是的,你是对的。我退出了eclipse并尝试再次运行它,现在它工作了。谢谢