Text 使用java中的BufferedReader从文本文件的每一行读取特定字符串

Text 使用java中的BufferedReader从文本文件的每一行读取特定字符串,text,Text,我的文本文件: 3.456 5.234 Saturday 4.15am 2.341 6.4556 Saturday 6.08am 在第一行,我只想读3.456和5.234。 在第二行,我只想读2.341和6.4556。 如果有,下一行也一样 以下是我目前的代码: InputStream instream = openFileInput("myfilename.txt"); if (instream != null) {

我的文本文件:

3.456  5.234 Saturday 4.15am
2.341  6.4556 Saturday 6.08am
在第一行,我只想读3.456和5.234。 在第二行,我只想读2.341和6.4556。 如果有,下一行也一样

以下是我目前的代码:

InputStream instream = openFileInput("myfilename.txt");


                if (instream != null) {             


              InputStreamReader inputreader = new InputStreamReader(instream);
              BufferedReader buffreader = new BufferedReader(inputreader);

                      String line=null;


                while (( line = buffreader.readLine()) != null) {



        }

                                       }

谢谢你的努力。试试这个

while (( line = buffreader.readLine()) != null) {
    String[] parts = line.split(" ");
    double x = Double.parseDouble(parts[0]);
    double y = Double.parseDouble(parts[1]);
}
我是从内存中输入的,所以可能有语法错误

int linenumber = 1;    
while((line = buffreader.readLine()) != null){
   String [] parts = line.split(Pattern.quote(" "));
   System.out.println("Line "+linenumber+"-> First Double: "+parts[0]+" Second Double:"
+parts[1]);
linenumber++;
}

比尔伯特的密码几乎是正确的。您应该使用模式并调用quote()进行拆分。这将删除数组中的所有空白。您的问题是,如果您不使用模式进行拆分,那么数组中的每个拆分之后都会有一个空格。我还在输出中添加了一个行号,这样您就可以看到哪一行包含了什么。它应该可以正常工作

@doraemon:while循环应该可以循环。将一个系统输出到println(行);作为while之后的第一行,并查看作为输出得到的内容。