Java 导出到jar的FileInputStream路径
我正在尝试将我的项目导出到.jar或.exe。除外部文本文件外,此功能工作正常 这是我的代码:Java 导出到jar的FileInputStream路径,java,jar,inputstream,filepath,executable-jar,Java,Jar,Inputstream,Filepath,Executable Jar,我正在尝试将我的项目导出到.jar或.exe。除外部文本文件外,此功能工作正常 这是我的代码: InputStream is = new FileInputStream("MYPATH/start.txt"); Reader r = new InputStreamReader(is); while ((my_char = r.read()) != -1) { text_list.add(String.valueOf((char) my_char)); }
InputStream is = new FileInputStream("MYPATH/start.txt");
Reader r = new InputStreamReader(is);
while ((my_char = r.read()) != -1) {
text_list.add(String.valueOf((char) my_char));
}
如何设置“MYPATH”,使我的jar文件与其他PC的文本一起工作?也许您正在寻找
FileReader r = new FileReader(mypath + "/start.txt");
// or
FileReader r = new FileReader(new File(mypath, "start.txt"));
我不会尝试创建一个包含所有字节的字符串列表。经常一次读一行更有用
BufferedReader br = new BufferedReader(new FileReader(new File(mypath, "start.txt")));
for(String line; (line = br.readLine()) != null; ) {
// process line
}
这是我的解决方案。我需要这份清单来做其他事情。。。但这不是问题所在……问题是:例如,在我的电脑上,我的路径是:/Users/username/Desktop/java/myprogram/text/start.txt在另一台电脑上,路径是/Users/username2/Test/myprogram/text/start.txt……要导出到jar,我当然不能硬编码路径到我的程序中,但我该怎么做?你需要做
mypath
a从某处获取的变量,例如命令行、系统属性、用户输入。如何做到这一点取决于您的应用程序的工作方式。如果start.txt
是只读应用程序资源,则应将其包含在Jar中并通过URL访问。
URL res = getClass().getClassLoader().getResource("Interface/Text/start.txt");
InputStream is = res.openStream();
r = new InputStreamReader(is);
while ((my_char = r.read()) != -1) {
text_list.add(String.valueOf((char) my_char));
}