Java I/O学习笔记

Java I/O学习笔记

1.Java I/O中常用的类

在java源码的io包中常用的类为File、OutputStream、Inputstream、Writer、Reader、RandomAccessFile。

说明
File 文件类
OutputStream 字节输出流
Inputstream 字节输入流
Writer 字符输出流
Reader 字符输入流
RandomAccessFile 随机存取文件

2.字节流与字符流

什么是字节流?

字节流–传输过程中,传输数据的最基本单位是字节的流。

什么是字符流?

字符流–传输过程中,传输数据的最基本单位是字符的流。

3.节点流和处理流

节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader。

处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

4.常用字节输入流

常用的字节输入流包括Inputstream以及Inputstream的子类。

IO字节输入流

5.常用字节输出流

常用字节输出流包括OutputStream以及OutputStream的子类。

IO字节输出流

6.常用字符输入流

常用字符输入流包括Reader以及Reader的子类。

IO字符输入流

7.常用字符输出流

常用字符输出流包括Writer以及Writer的子类。

IO字符输出流

8.RandomAccessFile类

RandomAccessFile(随机访问文件)类是专门用来处理文件的类。随机访问中的随机指的是可以跳转到文件的任意位置处读写数据。

8.1读写模式

模式 作用
r 表示以只读方式打开,调用结果对象的任何write方法都将导致抛出IOException
rw 打开以便读取和写入,如果该文件尚不存在,则尝试创建该文件
rws 打开以便读取和写入,相对于"rw",还要求对文件内容或元数据的每个更新都同步写入到底层存储设备
rwd 打开以便读取和写入,相对于"rw",还要求对文件内容的每个更新都同步写入到底层存储设备

8.2常用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
long getFilePointer();//返回此文件中的当前偏移量

long length();//返回此文件的长度

int read();//从此文件中读取一个数据字节

int read(byte[] b);//读取byte数组长度的字节到byte数组中,到达文末返回-1

int read(byte[] b, int off, int len);//将最多len个数据字节从此文件的指定初始偏移量off读入byte数组

String readLine();//从此文件读取文本的下一行

void write(int b);//向此文件写入指定的字节

void write(byte[] b);//将byte数组长度个字节从指定byte数组写入到此文件中

void write(byte[] b, int off, int len);//将len个字节从指定byte数组写入到此文件,并从偏移量off处开始

Java I/O学习笔记
https://blog.kedr.cc/posts/1061884183/
作者
zhuweitung
发布于
2019年7月13日
许可协议