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 {
} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f),"gbk"));