2017-09-01 6 views
1

NetBeans IDEが初めてのので、jarファイルの作成後にファイルにアクセスするのに苦労しています。このトピックの多くの記事を読んだ後、次のコードを試してみることにしました。ファイルがジャーから消去される場所に置かれたときにのみアクセス可能なファイル

BufferedReader read = new BufferedReader(new InputStreamReader(getClass()。getResourceAsStream( "/ file.txt"))));

これは、.classファイルがあるプロジェクトの「ビルド」フォルダ内にファイルを置いたときにうまく動作しますが、もちろんこのファイルはjarファイルの "clean and build"プロセスで消去されるため問題ですファイルが作成されます。私は、srcフォルダ、別の "resources"パッケージ、およびディレクトリのルートに配置しようとしました。私はまた、 "file.txt"と "/src/file.txt"でgetResourceAsStream()を呼び出そうとしましたが、ファイルが.classファイルである場合に上記の設定でのみ動作します。どんなヒントも高く評価されます!

+0

リソースフォルダを設定するプロジェクト設定を参照する必要があります。それはあなたのコードの残りの部分ではパッケージ化されていないようです。 – alirabiee

+0

@alirabieeありがとうございました!私は間違ったリソースフォルダにファイルを置いていたことが分かります。 – jiffy

答えて

0

なぜあなたのファイルフォルダがtomcatのビン内になく、コードからディレクトリを参照してください。したがって、cleanはファイルを変更せず、アプリケーションを再起動しなくてもファイルを削除、更新できます。 (ここに私はファイルがあるなど)

Path: /Users/username/Documents/apache-tomcat-8.5.15/bin/etc 

ArrayList<String> readList = null; 
String workingDir = System.getProperty("user.dir"); 
String fileName = "File.txt"; 
File file = new File(workingDir+"/etc/" + fileName); 
readList = resourceReader.readFile(file.getAbsolutePath()); 

私はいくつかのデータを解析し、上記の例ではArrayListを構築するreadFileメソッドを持っています。解決策は本当に簡単だっについてSystem Properties

+0

私は、いったんjarファイルをビルドすると、もはやファイルオブジェクトを使用できなくなり、その代わりにInputStreamとしてファイルを読み込む必要があると考えましたか? – jiffy

0

を読む

が判明...私は手動でリソースフォルダを作成しようとしていたが、内容が瓶の建物時に削除され続け。代わりに、私はリソースパッケージを作成し、ファイルをjarファイルにパッケージ化したsrcフォルダー内の自動生成フォルダーに入れました。みんな、ありがとう!

関連する問題