直接去题,假如我们想读入本地磁盘上一个文本文件(.txt/.lrc),通常直接用FileReader或者DataInputStream等读取文本显示会出现乱码现象(主要是由于输入的字节流转换成字符流过程中编码指定错误引起)。
这里我们可以通过InputStreamReader类为字符流指定编码方式,并封装为BufferedReader读取多个字符。
public class NewClass {
public static void main(String[] args) throws FileNotFoundException, IOException {
InputStream input = new FileInputStream(new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\ROOT\\mp3\\Honey.lrc"));
InputStreamReader reader = new InputStreamReader(input,"gbk");
BufferedReader br = new BufferedReader(reader);
String line = null;
while((line=br.readLine())!=null){
System.out.println(line);
}
}
其中 InputStreamReader reader = new InputStreamReader(input,"gbk"); 为字符流指定编码方式,这里指定为中文国标编码。问题就解决了!