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

Posted java厂长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习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)

通过以上的继承结构和构造方法可以清楚发现,既然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.Object java.io.Reader java.io.InputStreamReader java.io.FileReader java.lang.Object java.io.Writer java.io.OutputStreamWriter java.io.FileWriter

通过以上的继承关系也可以发现,实际上所有的字符数据都是需要进行转换的,依靠转换流完成,以后真正保存或者是传输的数据是不可能有字符的,全部都是字节,而字节只是在电脑之中处理后的结果。

以上是关于学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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