学习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干货盘点#