2013-03-12 79 views
0

我正在使用JFileChooser,它工作正常。保存操作 - 文件不可外部編輯

File a = new File(strSavepath); 
JFileChooser fc = new JFileChooser(a); 

問題是,我無法編輯保存的文件使用記事本或其他編輯器手動除非我運行垃圾回收利用的VisualVM手動。

我錯過了什麼或別人也觀察到這種行爲?

+0

用戶選擇要保存的文件名後,用於執行保存的代碼是什麼? – tristan2468 2013-03-12 16:17:32

+0

我正在使用FileOutputStream來寫入從JTextArea收到的字節。最後,塊存在以確保流關閉。 – hmall 2013-03-12 16:33:43

+0

這聽起來很合理。您能否編輯問題以包含更多代碼。那麼我們可能會看到有什麼問題。 – tristan2468 2013-03-12 16:45:00

回答

0

「當你排除了所有的不可能,無論仍然存在,即使是不可能也一定是真相。」(S.H。)

你必須有一個無限循環。調試,日誌記錄可能有助於說服自己。或者以其他方式混淆了另一個文件路徑。

(也說得清楚:a是目錄,而不是文件本身)

0

由於@TomG點,成交流是指流(即,如果您不使用文件的任何詳細,你的應用程序)不再具有文件的句柄,但這並不意味着VisualVM也會釋放句柄(儘管它應該,我認爲)。要檢查是否出於某種錯誤或類似的原因,VisualVM會在應用程序釋放它之後保留該文件的句柄,使用VisualVM運行應用程序,然後嘗試手動保存該文件。如果還不可能,你就要開放流。否則,您可以使用Windows handle或類似工具來確定文件中的句柄實際上是否保留在VisualVM或其他應用程序中。