转换流

奋死学习Java 24天前 ⋅ 107 阅读

处理流之二:转换流

转换流提供了在字节流和字符流之间的转化 

Java API提供了两个转换流:

InputStreamReader  用于将字节流中读取到的字节按指定字符集解码成字符 需要和InputStream  "套接"

构造方法:InputStreamReader(InputStream in)

public InputStreamReader(InputStream in, String charsetName)

OutputStreamWriter  

字节流中的的数据都是字符时,转换成字符流操作更高效

//转换输入流 字节-> 字符
public static void testInputStreamReader() throws Exception{
  FileInputStream fs = new FileInputStream("路径");
  InputStreamReader in = new InputStreamReader(fs,"GBK");
  char[] c = new char[100];
  int len = 0;
  while((len = fs.read(c))!= -1){
    System.out.println(new String(c,0,len));
  } 
  in.close();
  fs.close();
}
注意在转换字符流的时候设置的字符及其编码要与读取文件的编码一致,不然会出现乱码
//转换输出流  字节->字符
public static void testOutputStreamWriter() throws Exception{
  FileOutputStream out = new FileOutputStream("路径");
  OutputStreamWriter os = new OutputStreamWRiter(out,"GBK");
  os.writer("你好哈哈哈");
  os.flush();
  os.close();
  out.colse();
    
  }
}

 

 

全部评论: 0

    我有话说: