首页 > 编程语言 >(七)Java IO流

(七)Java IO流

时间:2023-01-22 20:33:48浏览次数:33  
标签:字符 Java 字节 输出 输入输出 IO FileInputStream 输入

Java IO流

1、IO流分类

1)按数据流向:输入流和输出流

2)按处理单位:字节流和字符流

3)按功能分类:节点流和处理流

2、常用的流

1)对文件进行操作:FileInputStream(字节输入流)、FileOutputStream(字节输出流)、FileReader(字符输入流)、FileWriter(字符输出流)

2)对管道进行操作:PipedInputStream(字节输入流)、PipedOutStream(字节输出流)、PipedReader(字符输入流)、PipedWriter(字符输出流)

3)字节/字符数组:ByteArrayInputStream、ByteArrayOutputStream、CharArrayReader、CharArrayWriter

4)Buffered 缓冲流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter

5)字节转化成字符流:InputStreamReader、OutputStreamWriter

6)数据流:DataInputStream、DataOutputStream

7)打印流:PrintStream、PrintWriter

8)对象流:ObjectInputStream、ObjectOutputStream

9)序列化流:SequenceInputStream

3、读取文件a.txt中的第10个字节

1 FileInputStream in = new FileInputStream("a.txt");
2 ​
3 in.skip(9);//skip(long n) 方法,调过文件 n 个字节数
4 ​
5 int b = in.read();

4、JDK中 java.io.ByteArrayOutputStream可以通过流写入数据到内存

5、输入流和输出流的区别

1)输入输出的方向是针对程序而言,向程序中读入数据,就是输入流;从程序中向外写存储数据,就是输出流

2)从磁盘、网络、键盘读到内存,就是输入流,用InputStream或Reader

3)写到磁盘、网络、屏幕,都是输出流,用OutputStream或Writer

6、常用字节输入流和输出流

1)FileInputStream-FileOutputStream 文件数据读写

2)ObjectInputStream-ObjectOutputStream 对象数据读写

3)ByteArrayInputStream-ByteArrayOutputStream 内存字节数组读写

4)PipedInputStream-PipedOutputStream 管道输入输出

5)FilterInputStream-FilterOutputStream 过滤输入输出数据流

6)InputStreamReader-OutputStreamWriter 字节流转字符流

7)FileReader-FileWriter 文件字符输入输出流

8)BufferedReader-BufferedWriter 带缓冲的字符输入输出流

7、节点流和处理流的区别

1)节点流:可以从某个节点读取数据或向某节点写数据的流

2)处理流:对已存在的流的连接和封装,实现更为丰富的流数据处理,处理流的构造方法必须需要其他的流对象参数

8、缓冲流

1)不带缓冲的流读取到一个字节或字符,就直接写出数据

2)带缓冲的流读取到一个字节或字符,先不输出,等达到了缓冲区的最大容量再一次性写出去

优点:减少了写出次数,提高了效率

缺点:接收端可能无法及时获取到数据

标签:字符,Java,字节,输出,输入输出,IO,FileInputStream,输入
From: https://www.cnblogs.com/it-java-ls/p/17064634.html

相关文章