java 转换流

来源:互联网 发布:做淘宝后感想 编辑:程序博客网 时间:2024/06/04 19:43
 转换流
字节流转字符流,称作转换流,包括:
1. InputStreamReader—> 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK/UTF-8。
2. OutputStreamWriter—> 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK/UTF-8。

InputStreamReader的构造方法

1. InputStreamReader(InputStream in);//构造一个默认编码集的InputStreamReader类。
2. InputStreamReader(InputStream in,String charsetName);构造一个指定编码集的InputStreamReader类。

InputStreamReader的使用


// 得到当前系统编码名字String name = Charset.defaultCharset().name();System.out.println(name);File file = new File("a.txt");try (InputStream is = new FileInputStream(file);// 以系统默认的编码,将is字节流转换为字符流InputStreamReader isr = new InputStreamReader(is, "GBK");BufferedReader br = new BufferedReader(isr);) {String readLine = br.readLine();System.out.println(readLine);} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}


OutputStreamWriter的构造方法


1. OutputStreamWriter(OutputStream out);构造一个默认编码集的OutputStreamWriter类
2. OutputStreamWriter(OutputStream out,String charsetName);构造一个指定编码集的OutputStreamWriter类。


OutputStreamWriter的使用


File file = new File("a.txt");try (FileOutputStream fos = new FileOutputStream(file);OutputStreamWriter osw = new OutputStreamWriter(fos);BufferedWriter bw = new BufferedWriter(osw)) {bw.write("哈哈哈");System.out.println("成功...");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}