2011-07-23 22 views
0

我使用BufferedWriter將一些文本作爲Netbeans中的代碼生成器框架的一部分寫入不同的文件。當我運行測試的主類時,我找不到前一包中包含的所有測試類的文件。而是他們在默認包中,當我打開文件時,我無法看到正常文本。我只看到一個格式化的窗口,頂部有一條長水平線,顯示錯誤; 「非法字符\ 0」。如何在Netbeans中恢復以前的我的java文件格式

文件的大小仍然相當於它們中的每一個文本,我認爲問題只是文本的格式。我使用本地歷史>反向刪除只是爲了不變。有沒有人知道如何解決這個問題?我使用的代碼如下,我在代碼中多次使用out.write(「some text here」)來編寫gen的文本。代碼到輸出文件。

BufferedWriter out = new BufferedWriter(new FileWriter("MyClass.java")); 
+0

您是否已嘗試在某些其他編輯器/查看器中打開該文件,最好使用十六進制顯示功能? – fvu

+0

是的,我嘗試了十六進制的能力......但我仍然得到一個空的窗口。是否有最好的編輯器你可以建議? – Abegaz

+0

我通常使用Total Commander的嵌入式查看器,它可以以多種格式顯示,包括十六進制。對於編輯,您可以嘗試免費的http://www.hhdsoftware.com/free-hex-editor。但IMO它看起來像你的文件不知何故... – fvu

回答

3

是的,我試着用十六進制能力的人......但我還在原地得到一個空window.Is有ü可以儘管提出任何最好的編輯器?

聽起來像文件可能真的是空的,除了那個\000字符;即你已經完全拋棄它們。您可以通過查看操作系統報告的文件大小來確認這一點。

如果您已經刪除了這些文件,並且NetBeans不太可能返回舊內容。您需要從版本控制(SVN,GIT,無論您使用什麼)還是從文件系統備份中恢復最新版本的文件。如果這不起作用,可能能夠使用文件恢復工具恢復它們,但我懷疑它。


的教訓是要確保你的源文件是安全的版本控制或備份你使用一些代碼生成器來更新他們面前。

+0

提及SCM +1 – prusswan

相關問題