【1】转换流:作用:将字节流和字符流进行转换
【2】转换流 属于字节流还是字符流?输入字符流
InputStreamReader:字节输入流----》字符的输入流
OutputStreamWriter:字符的输出流----》字节的输出流
【3】图解
【4】将输入的字节流转换为输入的字符流,然后完成文件----》程序
package com.msb.io02; import java.io.*; /** * @author : liu * 日期:10:22:24 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Test08 { //这是一个main方法:是程序的入口 public static void main(String[] args) throws IOException { //文件---》程序 //1.有个一源文件 File f=new File("d:\\test.txt"); //2.需要一个输入的字节流接触文件 FileInputStream fi = new FileInputStream(f); //3.加入一个转换流将字节流转换为字符流:(转换流属于一个处理流) //将字节转换为字符的时候,需要指定一个编码,这个编码跟文件本身的编码格式统一 //如果编码格式不统一的话那么在控制台上展示的效果就会出现乱码 InputStreamReader isr=new InputStreamReader(fi,"utf-8"); //4.开始动作将文件中内容显示到控制台 char[] c=new char[20]; int read = isr.read(c); while (read!=-1){ //将缓冲数组换位字符串,在控制台上面打印出来 System.out.print(new String(c,0,read)); read = isr.read(c); } //关闭流 isr.close(); } }
package com.msb.io02; import java.io.*; /** * @author : liu * 日期:10:22:24 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Test08 { //这是一个main方法:是程序的入口 public static void main(String[] args) throws IOException { //文件---》程序 //1.有个一源文件 File f=new File("d:\\test.txt"); File f1=new File("d:\\Demo.txt"); //2.需要一个输入的字节流接触文件 FileInputStream fi = new FileInputStream(f); FileOutputStream fo=new FileOutputStream(f1); //3.加入一个转换流将字节流转换为字符流:(转换流属于一个处理流) //将字节转换为字符的时候,需要指定一个编码,这个编码跟文件本身的编码格式统一 //如果编码格式不统一的话那么在控制台上展示的效果就会出现乱码 InputStreamReader isr=new InputStreamReader(fi,"utf-8"); OutputStreamWriter osw = new OutputStreamWriter(fo,"utf-8"); //4.开始动作将文件中内容显示到控制台 char[] c=new char[20]; int read = isr.read(c); while (read!=-1){ //将缓冲数组换位字符串,在控制台上面打印出来 osw.write(c,0,read); read = isr.read(c); } //关闭流 osw.close(); isr.close(); } }
标签:字符,OutputStreamWriter,字节,read,isr,new,InputStreamReader,转换 From: https://www.cnblogs.com/jeldp/p/16899576.html