JFileChooserを使用していますが、正常に動作しています。
File a = new File(strSavepath);
JFileChooser fc = new JFileChooser(a);
問題は、VisualVMを使用してガベージコレクターを手動で実行しない限り、メモ帳または他のエディターを使用して保存したファイルを手動で編集できないことです。
私は何かが足りないのですか、それとも他の誰かがこの行動を観察したのですか?
JFileChooserを使用していますが、正常に動作しています。
File a = new File(strSavepath);
JFileChooser fc = new JFileChooser(a);
問題は、VisualVMを使用してガベージコレクターを手動で実行しない限り、メモ帳または他のエディターを使用して保存したファイルを手動で編集できないことです。
私は何かが足りないのですか、それとも他の誰かがこの行動を観察したのですか?
@TomGが指摘しているように、ストリームを閉じることは、ストリーム(つまり、ファイルをもう使用しない場合、アプリケーション)がファイルのハンドルを持たなくなったことを意味しますが、VisualVMもハンドルを解放することを意味しません(ただし、すべきだと思います)。アプリケーションがファイルを解放した後、何らかのバグまたは同様の理由で VisualVM がファイルのハンドルを保持しているかどうかを確認するには、VisualVM からアプリケーションを実行し、ファイルを手動で保存してみてください。それがまだ可能でない場合は、ストリームを開いたままにします。それ以外の場合は、Windows ハンドルまたは同様のツールを使用して、実際にファイル内でハンドルを保持しているものが VisualVM または別のアプリケーションであるかどうかを判断できます。
「ありえないことを排除したとき、どんなにありそうもないことであれ、それが真実に違いない」 (SH)
無限ループが必要です。デバッグ、ログ記録は、自分自身を納得させるのに役立つ場合があります。または、別のファイルパスを混同していました。
(また、明確にするために:a
ファイル自体ではなく、ディレクトリです。)