私は、Windows XP上で動作するJavaプログラムを持っています。ファイルを読み込んでファイルを閉じるか、それとも少なくともそれが行うべきことです。Javaプログラムがファイルのハンドルを開いたままにしているかどうかをチェックする方法?
ときどきファイルがロックされたままになることがあります(「私」とは私がユーザとして私を意味し、コマンドプロンプトからcopy file2.out file1.out
を実行しようとしています.は私のJavaプログラムが読むファイルです) Javaプログラム。 (Windowsは「マップされたユーザープロセスを使ってファイルに書き込めない」などの文句を言う)
デバッグ方法はありますか?私は困惑している。
明確化:私がいる問題は、ファイルが開いたままにされている、またはそれは開いたままにされていたプロセスによってかどうかを考え出すされていません。問題は、大きなプログラムであり、InputStream
が開かれている間にいくつかのクラスがファイルInputStream
にアクセスできるため、Javaプログラムのどこでファイルを正しく閉じていないかを調べることです。
私はいくつかのクラスに絞り込むことができますが、次にどこを見るかは分かりません。
これは当然のことですが、プロセスのもう一方の端点、つまりソースに一般的な問題がないかどうかを確認します。 –