我正在从我拥有的一堆java文件中创建我的第一个可执行的crossplatform jar文件。问题是,我需要从文件外部的txt文件中读取一些值。这之前运行良好,我将在我的.class文件旁边放下txt并调用
javac myClass this.txt
现在这不起作用,我期望在外面所说的输出也不起作用。
有什么想法吗?谢谢。
答案 0 :(得分:0)
我发现这是答案:
使用文件阅读器类,而不是使用带有文件ala的扫描程序
Scanner scan= new scanner(new File("foo.txt")); //doesn't work
Scanner scan= new Scanner(new FileReader("foo.txt")); //does;
谢谢。
答案 1 :(得分:0)
我有类似的情况:希望我的*.jar
文件访问所述*.jar
文件旁边的目录中的文件。请参阅THIS ANSWER。
我的文件结构是:
./ - the root of your program
|__ *.jar
|__ dir-next-to-jar/some.txt
我可以使用以下内容将文件(例如some.txt
)加载到*.jar
文件中的InputStream:
InputStream stream = null;
try{
stream = ThisClassName.class.getClass().getResourceAsStream("/dir-next-to-jar/some.txt");
}
catch(Exception e) {
System.out.print("error file to stream: ");
System.out.println(e.getMessage());
}
然后使用stream