4

testという Java パッケージと という別のパッケージがある NetBeans モジュールを開発していますtest.templatestest.templatesテスト パッケージ内の Java ファイルからパッケージ内のテキスト ファイルを読み取りたい。いくつかの方法で試しましたが、FileNotFoundException例外があります。

BufferedReader br = new BufferedReader(new FileReader("templates/test.txt"));
BufferedReader br = new BufferedReader(new FileReader("/test/templates/test.txt"));
BufferedReader br = new BufferedReader(new FileReader("src/test/templates/test.txt"));

しかし、これらのどれも機能しませんでした..絶対パスではなく相対パスを使用したいです。私は何をすべきか?

4

4 に答える 4

4

getResourceまたはを使用しますgetResourceAsStream

java2s.com での例:

http://www.java2s.com/Code/Java/Development-Class/Loadresourcefilerelativetotheclasslocation.htm

于 2011-08-12T06:47:19.150 に答える
3

相対パス (Netbeans) について注意する必要があります。

+ ファイル: デフォルトはプロジェクト フォルダーsrcです。フォルダーの外側を意味します。
に保存するとtest.txt、 が生成されますproject/test.txt
に保存する場合はdata/test.txt、 ...project/data/test.txt
ファイルをロードする場合は、逆に実行するだけです。このように、ファイルを project/data/filename.txt に配置する必要があります。次に、コードを実行すると、 path: が取得されますdata/filename.txt

+ ImageIcon: 可能であれば後で共有します。
+ Image(SplashScreen): 後で共有します。

于 2015-07-11T11:45:59.623 に答える
0
try
{
BufferedReader br = new BufferedReader(new FileReader(getClass().getResource("/test/templates/test.txt").toString().substring(6)));
}
catch(Exception ee)
{
JOptionPane.showMessageDialog(this, ee);   
}
于 2012-08-21T10:10:06.587 に答える