1 package cn.itsource._inputsteam; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStream; 8 import java.io.InputStreamReader; 9 import java.io.OutputStream; 10 import java.io.OutputStreamWriter; 11 import java.io.UnsupportedEncodingException; 12 13 /** 14 * 该类用于转换流: 15 * 简单理解为包装流,就是把字节流包装一下,方便操作文本相关的文件 16 * 使用场景: 17 * 当别人只提供了一个字节流对象,但需要处理文本相关文件,这时就需要转换流转换一下,更方便处理文本文件 18 * 作用:就是用字节流的方式读取或者写入文本文件 19 * 构造方法: 20 * 1.InputStreamReader(InputStream in)创建一个使用默认字符集的对象 21 * 2.InputStreamReader(InputStream in,String charsetName)表示创建一个使用命名字符集的对象 22 * @author Administrator 23 * 24 */ 25 public class ChangeIOTest { 26 27 public static void main(String[] args) { 28 try { 29 changeIO(new FileInputStream("E:/洛晟.txt")); 30 changeIO(new FileOutputStream("E:/test.txt")); 31 } catch (IOException e) { 32 e.printStackTrace(); 33 } 34 35 } 36 public static void changeIO(FileInputStream is) throws IOException{//表示传入一个字节输入流对象 37 if(is != null){ 38 InputStreamReader isr = new InputStreamReader(is,"UTF-8"); 39 int read = 1; 40 char[] c = new char[10]; 41 while((read = isr.read(c)) != -1){ 42 System.out.println(new String(c, 0, read)); 43 } 44 //转换流,只需要关外面的流就可以了 45 IOUtil.closeIO(isr, null); 46 } 47 } 48 public static void changeIO(OutputStream os) throws IOException{//表示传入一个字节输入流对象 49 if(os != null){ 50 OutputStreamWriter ors = new OutputStreamWriter(os,"UTF-8"); 51 int read1 = 1; 52 ors.write("终于洛晟"); 53 System.out.println("执行完毕"); 54 55 //转换流,只需要关外面的流就可以了 56 IOUtil.closeIO(null, ors); 57 } 58 } 59 } 60
标签:11,java,2022,22,io,new,import,InputStreamReader,字节 From: https://www.cnblogs.com/puwei520/p/16916929.html