【发布时间】:2012-01-09 23:15:52
【问题描述】:
我正在用 Java 编写一个程序,我需要做的一件事是为最短路径问题创建一组每个有效位置。这些位置在 .txt 文件中定义,该文件遵循严格的模式(每行一个条目,没有额外的空格),非常适合使用 .nextLine 获取数据。我的问题是文件中的 241 行(共 432 行)扫描仪在通过条目的 3/4 处停止工作并且无法识别任何新行。
我的代码:
//initialize state space
private static Set<String> posible(String posLoc) throws FileNotFoundException {
Scanner s = new Scanner(new File(posLoc));
Set<String> result = new TreeSet<String>();
String availalbe;
while(s.hasNextLine()) {
availalbe = s.nextLine();
result.add(availalbe);
}
s.close();
return result;
}
数据
Shenlong Gundam
Altron Gundam
Tallgee[scanner stops reading here]se
Tallgeese II
Leo (Ground)
Leo (Space)
当然,“扫描仪在此处停止读取”不在数据中,我只是在标记扫描仪停止读取文件的位置。这是文件中的 3068 个字节,但这不会影响任何内容,因为在同一个程序中,使用几乎相同的代码,我正在读取一个 261 行、14KB 的 .txt 文件,该文件对路径进行编码。任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
你能把实际的数据文件上传到我们可以查看的地方吗?
-
有没有抛出异常?是否有空的 catch 块?
-
我希望 pastebin 对每个人都有效。 data
-
哦,没有抛出异常。我没有使用try catch,因为我很懒,我可以保证文件的位置,因为只有我在使用它,没有其他人使用。
-
如果在 while 循环中放置 println 会发生什么?
标签: java file-io java.util.scanner