2012-08-30 39 views
0

我想将我的项目导出为.jar或.exe。这对于外部文本文件很好。用于导出到jar的FileInputStream路径

这里我的代码:

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中”,所以我的罐子,文件与文本的其他电脑工作?

+0

如果'start.txt'是只读应用程序资源,它应该包含在Jar中并通过URL访问。 –

回答

1

也许你正在寻找

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 
} 
+0

我需要这个列表的其他东西...但多数民众赞成而不是东西...问题是:例如在我的PC我的路径是:/Users/username/Desktop/java/myProgramm/text/start.txt在另一个PC的路径是/Users/username2/Test/myProgramm/text/start.txt ...出口到罐子当然我不能硬编码路径进入我的程序,但我怎么? – JavaNullPointer

+0

您需要将'mypath'变成您从某处获得的变量,例如命令行,系统属性,用户输入。你怎么做取决于你的应用程序的工作方式。 –

0
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)); 
    } 

那是我的解决方案。