我正在从我拥有的一堆 java 文件中制作我的第一个可执行跨平台 jar 文件。问题是,我需要从文件外的 txt 文件中读取一些值。这之前运行良好,我会在我的 .class 文件旁边放下说 txt 并调用
javac myClass this.txt
现在这不起作用,我期望在所述类之外的输出也不起作用。
有任何想法吗?谢谢你。
我发现这是答案:
使用 File reader 类,而不是使用带有 File ala 的 Scanner
Scanner scan= new scanner(new File("foo.txt")); //doesn't work
Scanner scan= new Scanner(new FileReader("foo.txt")); //does;
谢谢你。
我有一个类似的情况:希望我*.jar
的文件访问所述文件旁边的目录中的*.jar
文件。另请参阅此答案。
我的文件结构是:
./ - the root of your program
|__ *.jar
|__ dir-next-to-jar/some.txt
我可以使用以下内容将文件(例如some.txt
)加载到文件内的 InputStream 中*.jar
:
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