Java无法读取文本文件中的其他行

时间:2016-04-04 03:53:39

标签: java

Showing my current progress

在这种情况下,我无法使程序读取的内容超过s.dat中的第一行文本。

我有什么遗失的吗?非常感谢任何帮助。

5 个答案:

答案 0 :(得分:1)

尝试这样的事情:

    //get the file location
    String filePath = "somefilepath.txt";

    //catch file IO errors
    try {
        //return the contents of the file
        String[] lines = Files.readAllLines(Paths.get(filePath))
    }

它将为变量行分配文件中所有字符串行的数组。然后你可以索引到那个数组,以获得你需要的东西或循环它。

编辑:没有数组就可以看到这个链接:

http://www.programcreek.com/2011/03/java-read-a-file-line-by-line-code-example/

答案 1 :(得分:1)

如果..else语句错误,你正在做 要么在第一次执行后要终止循环的情况下返回函数或打破循环,这就是发生这种情况的原因。

答案 2 :(得分:1)

你的while循环读取(大约):

while ( more lines ) {
     if ( match ) {
          return;
     } else {
          break;
     }
 }

你的循环永远不会执行多次。

删除else子句,并在循环结束后放置println("Not found");

答案 3 :(得分:0)

您的代码只会读取第一行,因为您在if块中放置并在其他块中断。在这两种情况下,它都将失控。

从if块中删除return语句。

答案 4 :(得分:0)

你的else子句是错误的,如果第一个循环不匹配,它会立即退出,而不会做任何其他事情。 你应该打印声明" Not found ...."在while循环结束之后。