簡體   English   中英

添加.txt文件作為資源Java

[英]Adding .txt file as a resource Java

我有一個.txt文件和一個名為res的文件中的圖像。 我在文件中添加了我的路徑。 我做了下面的代碼,它在我的Eclipse IDE中運行得很好。 導出jar並運行它時,它什么都不做。 使用cmd運行jar表示無法找到類路徑。 所以我嘗試了第二塊代碼沒有成功。 我的形象很好用。 bgi = new ImageIcon(getClass().getResource("bg.png"));

Scanner s = null;
        try {
            s = new Scanner(new File("res//10kaddress.txt"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        ArrayList<String> paddress = new ArrayList<String>();
        while (s.hasNext()){
            paddress.add(s.next());
        }
        s.close();

所以我嘗試在下面做這個,不管我做什么都不會讀取txt文件

URL url = GUI.class.getResource("10kaddress.txt");
    File ff = new File(url.getPath());


    Scanner s = null;
    try {
        s = new Scanner(ff);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    ArrayList<String> paddress = new ArrayList<String>();
    while (s.hasNext()){
        paddress.add(s.next());
    }
    s.close();

並得到此錯誤

java.io.FileNotFoundException: C:\Users\Major%20Lee\Sketch\GUI\res\10kaddress.txt (The system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.util.Scanner.<init>(Unknown Source)
    at GUI.main(GUI.java:68)
Exception in thread "main" java.lang.NullPointerException
    at GUI.main(GUI.java:73)

任何幫助都會很棒。 謝謝!

我會打開它作為ResourceStream(或者我只是使用ResourceBundle),就像這樣 -

InputStream is = getClass().getResourceAsStream("10kaddress.txt");
Scanner s = new Scanner(is);

當您在JAR中嵌入了一個文件時,您需要使用getResourceAsStream() ,因為它已被指出。

另外,我懷疑你的路上有問題。 從錯誤中我可以看到你在Windows機器上。 你的道路是:

res//10kaddress.txt  

轉義分隔符時,使用/ (單正斜杠)或\\\\ (雙反斜杠)。 反斜杠有另一個反斜杠,因此稱為轉義。 嘗試更改路徑,看看它是否適合您。

所以,讓你的道路:

res/10kaddress.txt   

手動雙擊以查看文件是否在指定的路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM