【发布时间】:2015-02-05 20:10:08
【问题描述】:
我试图从我的 myFile.txt 文件中读取一些数据。我使用的代码如下:
try (Scanner scanner = new Scanner(new File("myFile.txt"))) {
System.out.println("Start");
while (scanner.hasNextLine()) {
System.out.println("Inside");
String line = scanner.nextLine();
String[] attribute = line.split(",");
String id = attribute[0];
String firstName = attribute[1];
String lastName = attribute[2];
System.out.println(id + " " + firstName+ " " + lastName);
}
System.out.println("The end");
}
当我从我的 IDE 运行此代码时,它运行良好。但是当我从 cmd 窗口运行 jar 文件时,它不起作用。只显示“开始”和“结束” 在 cmd 屏幕上。因此,scanner.hasNextLine() 始终为 false。
【问题讨论】:
-
从 jar 中运行时,文本文件在哪里?
-
与我的项目 jar 文件位于同一目的地。
-
它是否在您启动程序的目录中?即,如果您在 Windows 上键入
ls(或dir),您会看到列出的这个文件吗? -
我认为他的文件在正确的位置,因为没有“FileNotFoundException”。
-
在
try之前尝试System.err.println(new File("myFile.txt").getAbsolutePath());。
标签: java file-io jar cmd java.util.scanner