您好我想运行一个java Eclipse项目表单命令行..我尝试制作一个Jar和Runnable Jar(两个选项),并在需要时使用清单。
我无法解决的问题是,当我的程序试图读取txt文件时,它总是会给我一个FileNotFound错误。我该如何解决这个错误?我在网上找不到它。
由于
示例:
in = new BufferedReader(new FileReader("CompanyNameListModified.txt"));
错误:
Exception in thread "main" java.io.FileNotFoundException: CompanyNameListModified.txt (No such file or directory)
答案 0 :(得分:0)
假设文本文件位于jar本身,那么就不要将其作为文件抓取,因为从技术上讲,这些文件并不存在于jar文件中,而是将其作为资源获取。
如,
package foo;
import java.io.InputStream;
import java.util.Scanner;
public class TestResource {
public static void main(String[] args) {
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
String resourceName = "foo/movies.txt"; // path relative to classloader
InputStream inStream = classLoader.getResourceAsStream(resourceName);
Scanner scanner = new Scanner(inStream);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
if (scanner != null) {
scanner.close();
}
}
}
jar文件的内容是:
C:\Users\hovercraft\Jar files>jar tf TestResource.jar
META-INF/MANIFEST.MF
foo/TestResource.class
foo/TestResource.java
foo/movies.txt