0

我正在使用 OS X、Netbeans 7.3 Beta 2、Java。

我有一个从文本文件中读取的程序。运行我的分布式 jar 时,我的程序不使用这个 .txt 文件。

这是我的两个包 - 除了 SPPMainGUI2.java 之外,忽略 com.john.view 中的所有 java 文件:

忽略所有

如您所见,cpass.txt 位于 com.john.spp 中。这是我的使用方法:

BufferedReader in = null;
    try {
        in = new BufferedReader(new FileReader("cpass.txt"));
    } catch (FileNotFoundException ex) {
        Logger.getLogger(SPPMainGUI2.class.getName()).log(Level.SEVERE, null, ex);
    }

我猜我的 FileReader 位置需要更改。当我的程序从 Netbeans 运行时,它工作正常,当我运行在我的 dist 文件夹中找到的 jar 文件时,它不会获取 .txt 文件。

有任何想法吗?

4

2 回答 2

2

而不是像new FileReader("cpass.txt")使用资源访问机制那样读取文件:

    in = new BufferedReader(new InputStreamReader(
                   getClass().getResourceAsStream("cpass.txt")));
于 2013-03-29T13:13:21.847 回答
2

您在哪个班级阅读文件?它在 SPPMainGUI2 中吗?

然后,您需要更改getClass()Main.class位于com.john.spp包中的其他类。

于 2013-03-29T13:20:02.100 回答