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之后的第一行,并查看作为输出得到的内容。