当使用文件流读取文本文件时,如果遇到中文字符,将会读到乱码.
偶然的一次在一本参考书看到 用byte数组存储读取结果,再用byte数组构建字符串,可解决乱码问题,试了一下,果然见效了,于是写了下面一个简单的类,以备用.
/**
* @(#)ReadText.java 17:59 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.File;
import java.io.FileInputStream;
public class ReadText {
public static String getText(String path) throws Exception {
FileInputStream in = new FileInputStream(path);
byte[] bit = new byte[in.available()];
in.read(bit);
in.close();
return (new String(bit));
}
//测试函数
public static void main(String[] a) throws Exception{
//从磁盘读取文本文件并打印
String str = ReadText.getText("c:/hello.txt");
System.out.println(str);
}
}