Java中可以以指定的编码方式读取字符流,比如utf-8,utf-16,utf-32和gbk等,也可以自己制定解码算法。这里涉及的一个class就是InputStreamReader,它用于在字节流上建立字符流。构造方式有:public InputStreamReader(InputStream in)public InputStreamReader(InputStream in,String enc)public InputStreamReader(InputStream in,CharsetDecoder dec)public InputStreamReader(InputStream in,Charset charset)例如可以利用以下代码建立一个以gbk格式读取一个文件的BufferedReader br
- File f=new File("/home/tobacco/Downloads/MESSAGE.txt");
- try {
- try {
- BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f),"gbk"));
} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}