InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader。 |
InputStreamReader(InputStream in, Charset cs) 创建一个使用给定字符集的InputStreamReader。 |
InputStreamReader(InputStream in, CharsetDecoder dec) 创建一个使用给定字符集解码器的InputStreamReader。 |
InputStreamReader(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。 |
OutputStreamWriter(OutputStream out) 创建一个使用默认字符编码的OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, Charset cs) 创建一个使用给定字符集的OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, CharsetEncoder enc) 创建一个使用给定字符集编码器的OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, String charsetName) 创建一个使用命名字符集的OutputStreamWriter。 |
编码转换
public class Test {
/**
* java.io.InputStreamReader类继承Reader,所以该类也是表示字符输入流,用来读取数据
* 特点:
* 1,是字节流通向字符流的桥梁
* 2,可以指定编码读取数据,也可以使用平台默认编码读取数据
*
*/
public static void main(String[] args) {
try (
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("IO流\\aaa\\test.txt"), "utf-8");
OutputStreamWriter gb2312 = new OutputStreamWriter(new FileOutputStream("IO流\\aaa\\test_zhuan.txt"), "gb2312");
){
char[] chs = new char[8192];
int len;
while ((len = inputStreamReader.read(chs))!= -1 ){
gb2312.write(chs,0,len);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}