2011-10-03 59 views
0

我工作在Mac(雪豹)。使用Java,我清除文件內容,然後寫入它。 這是代碼清除文件:寫入文件(蘋果機)在怪誕形象(JAVA)

new File(FileName).delete(); 
    new File(FileName).createNewFile(); 

後來,當我寫的文件,我覺得奇怪的字符;例如: 代替寫作:

預期 '=', '', ';', 'ASM'

它寫入:

預期,AO =,嶴,嶴,嶴,嶴,嶴,Äòasm,Äô

我敢肯定,createNewFile()會導致問題,因爲出現WH沒有問題我將相同的文本寫入我手動創建的文件。我能做什麼?

謝謝。

+1

你用什麼來寫入文件?你是否使用包裝在BufferedWriter中的OutputStreamWriter,並指定OutputStreamWriter的字符集? –

+1

您不需要刪除該文件並重新創建它以替換其內容。只需寫入文件。我也懷疑編碼問題。 –

+0

實際上它是由gcc的命令,通過終端使用此命令寫:$(的foreach樓$(CFILES),GCC $ F 2 >> ERRORS.TXT;) – Pansy

回答

2

你的地方引入轉碼錯誤。

你在Java的編碼數據爲UTF-8,但你使用解碼它處理數據(可能)任何的MacRoman。

或者,你的Java編輯器將文件保存爲UTF-8和你的編譯器在編譯之前解碼它的MacRoman。

閱讀this

+0

偉大的鏈接,謝謝 –