之前寫過一個方法可以解決從外部讀入文本時中文不會亂碼,可是從程序中的字符串要寫回文本文件時又出現了中文字符亂碼,原因是JAVA默認使用Unicode編碼的字符,而我們使用的windows系統文本文件使用的是GBK編碼,要解決這個問題,就得從編碼上入手。下面這個方法就可以將字符串以GBK編碼寫入文本文件,這樣就可以解決寫入中文字符亂碼的問題了。
/**
* @(#)WriteText.java 17:58 10/09/06
* @versoin 0.01
* @author 林志斌(alvin) 廣東 普寧 里湖
* Copyright ? 1996-2006 zmzx.icpcn.com All Rights Reserved
* Use is subject to license terms.
*/
package alvin.alvinio;
import java.io.*;
public class WriteText {
public static void writeText(String path, String text) {
try {
FileOutputStream o = new FileOutputStream(path);
o.write(text.getBytes("GBK"));
o.close();
} catch(Exception e) {}
}
//測試函數
public static void main(String[] args) {
//將指定的文本內容以 GBK 編碼寫入磁盤的指定路徑。
String content = "你好!林志斌";
WriteText.writeText("C:/hello.txt", content);
}
}