【发布时间】:2013-02-08 17:21:10
【问题描述】:
类似的问题涉及C: 驱动器上的文件,其中硬编码文件路径是可接受的答案。此应用程序是移动应用程序,硬编码文件路径并不实用。
我正在尝试通过扫描仪导入一个文本文件,其中包含一个字符串列表,每个 15 个字符,每行 1 个。很多行。文件名为a.txt。
我用它来称呼它
File data = new File("a.txt");
Scanner in = new Scanner(data);
用“b.txt”重复以下行,使用不同的对象名称。
但是,当我构建程序时,我得到了这个错误日志(使用 Jcreator IDE):
--------------------Configuration: <Default>--------------------
E:\Simple Encryption\Simple_Encryption.java:17: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner in = new Scanner(data);
^
E:\Simple Encryption\Simple_Encryption.java:18: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner numsIn = new Scanner(nums);
^
2 errors
Process completed.
程序在文件夹E:/Simple Encryption/,包含以下文件和文件夹:
- Simple_Encryption.java
- Simple_Encryption.class
- lock.png(未使用)
- a.txt
- b.txt(导入时与
a.txt相同的错误,仅以下一行) - /images(文件夹,包含icon.png)
文件夹中没有其他内容。我无法硬编码文件路径,因为在不同的计算机上,它具有不同的驱动器名称,并且稍后将分布在不同的文件夹下。 (这里(学校),它在E: 驱动器上,在家里它是J:驱动器,而在工作它在G: 驱动器上。)
虽然我已经从现有错误中获得了帮助,但我需要在程序启动时导入它,而不仅仅是跳过它。该文件以其当前形式存在,没有它,程序将无法运行。
是什么导致了这个错误?我能做些什么来防止这种情况发生?
【问题讨论】:
标签: java java.util.scanner filenotfoundexception