Java缓冲流、转换流、节点流、处理流
2022/7/24 1:22:54
本文主要是介绍Java缓冲流、转换流、节点流、处理流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、BufferrReader(带有缓冲区的字符输入流)
- 使用这个流的时候不需要自定义char[ ] 数组,或者说不需要自定义char[ ] 数组。自带缓冲
1.构造方法
方法名 | 作用 |
---|---|
BufferedReader(Reader in) | 创建使用默认大小的输入缓冲区的缓冲字符输入流。 |
BufferedReader(Reader in, int sz) | 创建使用指定大小的输入缓冲区的缓冲字符输入流。 |
2.节点流与包装流
- 当一个流的构造方法中需要一个流的时候,这个被传进来的流叫做:节点流。
- 外部负责包装的这个流,叫做:包装流,还有一个名字叫做:处理流。
3.代码示例:
import java.io.BufferedReader; import java.io.FileReader; public class BufferedReaderTest01 { public static void main(String[] args) throws Exception { FileReader reader = new FileReader("D://JAVATest/filewrite"); //当一个外部的流的构造方法需要一个流的时候,这个被传进来的流叫做;节点流 //外部负责包装的这个流,叫做:包装流或者叫做处理流 //像当前这个程序来说:FileReader就是一个节点流,BufferedReader就是包装流/处理流 BufferedReader br = new BufferedReader(reader); String s=null; while ((s= br.readLine())!=null){ System.out.println(s); } //可以使用readLine方法一次读取一行 /* 如果不写循环,因为定义的是 String fistLine= br.readLine(); System.out.println(fistLine); String SecondLine= br.readLine(); System.out.println(SecondLine); String ThirdLine= br.readLine(); System.out.println(ThirdLine); */ //关闭包装流 //对于包装流来说只需要关闭最外层的流,里面的节点流会自动关闭 br.close(); } }
输出:
我最爱学习了 学习了 没有对象不会new一个吗
二、转换流
- 在上述字符流中只能传字符,要是想传入字节的话,需要先将字节流转换成字符流,这时就需要使用到转换流
- InpStreamReader转换读取到的字节
1.构造方法:
InputStreamReader(InputStream in) | 创建一个使用默认字符集的InputStreamReader |
InputStreamReader(InputStream in, Charset cs) | 创建一个使用给定字符集的InputStreamReader。 |
InputStreamReader(InputStream in, CharsetDecoder dec) | 创建一个使用给定字符集解码器的InputStreamReader。 |
InputStreamReader(InputStream in, String charsetName) | 创建一个使用命名字符集的InputStreamReader。 |
2.代码示例
import java.io.*; public class BufferedReaderTest02 { public static void main(String[] args) throws IOException { //字节流 FileInputStream in = new FileInputStream("D:\\JAVATest\\bufferedReader"); //通过转换流(InputStreamReader)转换为字符流 //in是节点流,reader是包装流 InputStreamReader reader = new InputStreamReader(in); //reader是节点流,br是包装流/处理流 BufferedReader br = new BufferedReader(reader); /* 上述也可以合并来写 BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\JAVATest\\bufferedReader"))) */ String s=null; while ((s=br.readLine())!=null){ System.out.println(s); } //关闭最外层 br.close(); } }
输出:
lingstar 我最爱java了 这是带有缓冲区的字符输出流
三、BufferWriter(带有缓冲区的字符输出流)
1.构造方法
方法名 | 作用 |
---|---|
BufferedWriter(Writer out) | 创建使用默认大小的输出缓冲区的缓冲字符输出流 |
BufferedWriter(Writer out, int sz) | 创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。 |
2.代码示例
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class BufferWriterTest02 { public static void main(String[] args) throws IOException { //创建一个字符输出流,没有文件会自动创建 //再次运行会清空重新写入,如果不想清空就在后面路径后加,true BufferedWriter out = new BufferedWriter(new FileWriter("D:/JAVATest/bufferedtest")); //写入 out.write("我最爱java了"); out.write("\n"); out.write("lingstar"); //刷新 out.flush(); //关闭最外层 out.close(); } }
输出:
这篇关于Java缓冲流、转换流、节点流、处理流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南