2012-08-30 59 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)); 
    } 

那是我的解決方案。