学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(?建议收藏)#yyds干货盘点#

莫问天涯路几重,轻衫侧帽且从容。这篇文章主要讲述学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(?建议收藏)#yyds干货盘点#相关的知识,希望能为你提供帮助。
Day28-java之转换流@[toc]
关于作者? 作者介绍
现在对于IO操作就存在了字节流和字符流两种操作,那么对于这两种操作流之间也是可以进行转换的,而转换的操作类有两个:
将字节输出流变为字符输出流(OutputStream-> Writer)——OutputStreamWriter;
将字节输入流变为字符输入流(InputStream-> Reader)——InputStreaReader。

OutputStreamWriter InputStreamReader
public class OutputStreamWriter< br> extends Writer public class InputStreamReader< br> extends Reader
public OutputStreamWriter(OutputStream out) public InputStreamReader(InputStream in)
学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(?建议收藏)#yyds干货盘点#

文章图片

通过以上的继承结构和构造方法可以清楚发现,既然OutputStreamWriter是Writer的子类,那么必然OutputStreamWriter可以通过Writer类执行对象的向上转型进行接收,而同时这个OutputStreamWriter类的构造方法可以接收OutputStream,这样就可以完成转型。
package com.day14.demo; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; public class OutWriterDemo public static void main(String[] args) throws Exception //1.定义文件路径 File file = new File("f:" + File.separator + "test" + File.separator + "hello.txt"); if(!file.getParentFile().exists())//父路径不存在 file.getParentFile().mkdirs(); //创建父目录//2.要输出的数据 String str = "Hello,world!!!!"; //3.实例化对象 OutputStream stream = new FileOutputStream(file,true); //4.将内容写进stream Writer out = new OutputStreamWriter(stream); out.write(str); //5.关闭流 out.close();

对于文件操作可以使用FileInputStream,FileOutputStream,FileReader,FileWriter四个类,那么下面分别观察这四个类的继承结构。
观察FileInputStream,FileOutoutStream类的继承结构
FileInputStream FileOutoutStream
java.lang.Object< br/> java.io.InputStream< br/> java.io.FilterInputStream java.lang.Object< br/> java.io.OutputStream< br/> java.io.FileOutputStream
观察FileReader,FileWriter类的继承结构
FileReader FileWrite
java.lang.Objectjava.io.Readerjava.io.InputStreamReaderjava.io.FileReader java.lang.Objectjava.io.Writerjava.io.OutputStreamWriterjava.io.FileWriter
学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(?建议收藏)#yyds干货盘点#

文章图片

【学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(?建议收藏)#yyds干货盘点#】通过以上的继承关系也可以发现,实际上所有的字符数据都是需要进行转换的,依靠转换流完成,以后真正保存或者是传输的数据是不可能有字符的,全部都是字节,而字节只是在电脑之中处理后的结果。

    推荐阅读