类似问题处理C:
驱动器上的文件,其中对文件路径进行硬编码是可接受的答案。此应用程序是移动的,并且对文件路径进行硬编码是不实际的。FileNotFoundException文件存在于与程序相同的文件夹中
我想通过扫描仪导入一个文本文件,其中包含一个字符串列表,每行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
进口,下面只是一条线) - /图片(文件夹,包含的icon.png)
没有什么别的文件夹中。我无法硬编码文件路径,因为在不同的计算机上,它具有不同的驱动器名称,并且稍后将在不同的文件夹下分发。 (这里(学校),这是E:
驱动器上,在国内它是J:
驱动器,并在工作中它是G:
驱动器上。)
虽然我已经从现有的错误得到帮助,我需要进口在该程序启动,而不是只是跳过它。该文件以当前的形式存在,并且程序在没有它的情况下不能运行。
什么是造成此错误?我能做些什么来防止这种情况发生?