Java 扫描仪无法读取文件

发布于 2024-10-13 11:26:36 字数 628 浏览 6 评论 0原文

我正在做一个非常简单的文本解析程序,使用朋友给我的文件。 但是,当我使用像这样的扫描仪打开文件时,

Scanner scan = new Scanner(new File(path));
System.err.println(scan.hasNext());
while(scan.hasNextLine())
    System.err.println(scan.nextLine());
System.err.println(scan.next());

结果是:

false
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:855)
at java.util.Scanner.next(Scanner.java:1364)
at Test.main(Test.java:18)

扫描仪将文件(大约 1400 行长)视为空文件。

谁能想到扫描仪无法查看文件的任何原因吗?我怀疑该文件是从 Windows 计算机导入到 Linux 计算机的事实可能与此有关,但我对

针对格式和代码错误进行编辑的其他可能性持开放态度

I'm doing a very simple text-parsing program, using files given to me by a friend.
However, when I open the file using a Scanner like so,

Scanner scan = new Scanner(new File(path));
System.err.println(scan.hasNext());
while(scan.hasNextLine())
    System.err.println(scan.nextLine());
System.err.println(scan.next());

result:

false
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:855)
at java.util.Scanner.next(Scanner.java:1364)
at Test.main(Test.java:18)

the scanner treats the file(which is some 1400 lines long) as empty.

Can anyone think of any reason a scanner might not be able to see a file? I suspect the fact that the file was imported from a Windows machine to a Linux machine may have something to do with it, but my mind is open to other possibilities

edited for formatting and code errors

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

╄→承喏 2024-10-20 11:26:36

我使用 new Scanner(new BufferedReader(new FileReader(fileName))) 解决了它,而不是 new Scanner(new File(fileName))

I resolved it using new Scanner(new BufferedReader(new FileReader(fileName))) instead of new Scanner(new File(fileName))

指尖上的星空 2024-10-20 11:26:36

发现问题:
逐字节查看文件。在第一个字节中发现 EOF 字符。
Java 忽略了文件的其余部分。

Found the problem:
Looked at the file byte by byte. found an EOF character in the first byte.
Java was ignoring the rest of the file.

小红帽 2024-10-20 11:26:36

编辑:第一次猜测是错误的

该文件可能有 1400 行充满空格。

EDIT: Fisrt guess was wrong

The file might have 1400 lines full of whitespaces.

凉风有信 2024-10-20 11:26:36

可能是因为这个问题而发生的:

1-您的文件可能尚未创建。

2-您的文件正被其他程序使用。

3-路径地址错误。

it maybe occurred for this problems:

1-your file maybe isn't created.

2-your file is in use for other programs.

3-the path address is false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文