私はnetbeansを使用しています。リソースファイル(静的情報を含むtxtファイルなど)にアクセスするときに、プロジェクトを構造化する方法がわかりません。
これは簡単な例です。myfile.txtというtxtファイル内を読み取るTest.javaというファイルがあります。
私は次のようなものを入力したい:
public class Test {
public static void main(String[] args) {
try{
File f = new File("myfile.txt");
Scanner s = new Scanner(f);
System.out.println(s.next());
}
catch(Exception e){
e.printStackTrace();
}
}
}
myfile.txtが.javaファイルと同じディレクトリにある場合、これは合理的と思われます。
しかし、いいえ、そのようにコードを入力すると、txtファイルはプロジェクトのルートであるsrc/と同じレベルになるはずです。承知しました。それを受け入れてそこにtxtを配置するので、クリーンアップしてビルドします。これで、netbeans(緑色の矢印ボタン)で実行すると、正常に実行されます(ビルドフォルダーにtxtファイルがない場合でも、奇妙に思えます)が、もちろん、distフォルダーでjarを直接実行しようとすると(プロジェクトが終了したら配布したいものになります)その隣のjar ofr内にtxtフォルダーがないため、プログラムは失敗します。
さて、私は戦略を変更して、論理的に見えるもの、つまりsrcディレクトリ内にtxtを配置することにします。ビルドすると、ビルドディレクトリとjar内に表示されます。
ただし、新しいFileコマンドでファイルへのパスが適切でないため、プログラムは失敗します(netbeans内と外部の両方)。だから私は変更して入力することができました
public class Test {
public static void main(String[] args) {
try{
File f = new File("src/myfile.txt");
Scanner s = new Scanner(f);
System.out.println(s.next());
}
catch(Exception e){
e.printStackTrace();
}
}
}
ただし、srcフォルダーは、貧弱な.jarファイルには何の意味もないため、もちろん、netbeansの外部では実行されません。
このおそらく些細なタスクに対処する方法を見つけることができません。
手伝って頂けますか?