之前写过一个方法可以解决从外部读入文本时中文不会乱码,可是从程序中的字符串要写回文本文件时又出现了中文字符乱码,原因是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);
}
}