JAVA IO 类库详解

时间:2021-07-22 01:46:26

JAVA IO类库详解

一、InputStream类

1、表示字节输入流的所有类的超类,是一个抽象类。

2、类的方法

方法

参数

功能详述

InputStream

构造方法

available

如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小。

read

从输入流中读取数据的下一个字节

mark

(int readlimit)

在输入流中标记当前的位置

markSupported

判断输入流是否支持mark()和reset()方法

reset

将流重新定位到流最后一次调用mark方法时的位置

skip

(long n)

跳过或丢弃输入流中的n个字节

二、OutputStream类

1、表示字节输出流的所有类的超类,是一个抽象类。

2、类的方法

方法

参数

功能详述

OutputStream

构造器

write

将指定的字节写入此输出流

flush

涮新输出流并强制写出所有缓冲的输出字节

close

关闭输出流

三、Reader类

1、读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。

2、类的方法

方法

参数

功能详述

字段lock

用于同步针对流的操作对象

Reader

构造器,同步其自身

Reader

(Object lock)

构造器,同步给定的对象

read

读取单个字符

mark

标记流中的当前位置

markSupporte

判断流是否支持mark方法

ready

判断是否准备读取此流

reset

重置流

skip

跳过n个字符

close

关闭

四、Writer类

1、写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。

2、类的方法

方法

参数

功能详述

字段lock

同步流的操作对象

Writer

构造器,同步其自身

Writer

(Object lock)

构造器,同步给定的对象

write

写当个字符

append

将指定字符添加到流中

flush

涮新流的缓冲

close

关闭

五、File类

1、文件和目录路径名的抽象表示形式。

2、类的方法

方法

参数

功能详述

字段pathSeparatorChar

路径的斜线分隔符,字符表示

字段pathSeparator

路径的斜线分隔符,字符串表示

字段separatorChar

路径的冒号分隔符,字符表示

字段separator

路径的冒号分隔符,字符串表示

File

(File parent,

String child)

根据父文件的抽象路径和子路径创建实例

File

(String pathnaem)

通过将给定路径名字字符串转换为抽象路径来创建实例

File

(String parent,

String child)

根据父路径和子路径来创建实例

File

(URI uri)

通过将给定的 file: URI 转换为一个抽象路径名来创建实例

创建文件或目录

createNewFile

不存在具有此抽象路径名指定名称的文件时,创建一个空文件

createTempFile

(String prefic,

String suffix)

在默认文件目录中,根据前缀和后缀创建一个空文件

createTempFile

(String prefic, String suffix, File directory)

在指定目录中,根据前缀和后缀创建一个空文件

获取抽象路径

getAbsoluteFile

返回抽象路径名的绝对路径名。

getAbsolutePath

返回抽象路径名的绝对路径名字符串。

getCanonicalFile

返回抽象路径名的规范形式。

getCanonicalPath

返回抽象路径名的规范路径名字字符串。

getFreeSpace

返回抽象路径名指定分区中未分配的字节数。

getName

返回抽象路径名表示的文件或目录的名称。

getParent

返回抽象路径的父目录的路径名字符串。

getParentFile

返回抽象路径的父目录的抽象路径名。

getPath

将抽象路径名转换为一个路径名字符串。

getTotalSpace

返回抽象路径名指定的分区大小。

getUsableSpace

返回抽象路径名指定的分区上可用于此虚拟机的字节数。

设置抽象路径

setExecutable

(boolean executable)

设置抽象路径名所有者执行权限

setExecutable

(boolean executable,

Boolean ownerOnly)

设置抽象路径名所有者或所有用户的执行权限

setLastModified

(long time)

设置抽象路径名的指定的文件或目录的最后一次修改时间

setReadable

(boolean readable)

设置抽象路径名的所有者或所有用户的读权限。

setReadable

(boolean readable,

Boolean ownerOnly)

设置抽象路径名的所有者或所有用户的读权限。

setReadOnly

设置路径或文件为读权限

setWritable

(Boolean writable)

设置抽象路径名的所有者或所有用户的写权限

setWritable

(Boolean writable,

Boolean ownerOnly)

设置抽象路径名的所有者或所有用户的写权限

抽象路径其他操作

compareTo

(File pathname)

按字母顺序比较两个抽象路径名

delete

删除抽象路径名表示的文件或目录

deleteOnExit

虚拟机终止时,请求删除抽象路径名表示的文件或目录

equals

(Object obj)

测试此抽象路径名与给定对象是否相等。

exists

测试此抽象路径名表示的文件或目录是否相等。

hashCode

计算抽象路径名的哈希码。

isAbsolute

判断抽象路径名是否为绝对路径名

isDirectory

判断抽象路径名表示的文件是否是一个目录。

isFile

判断抽象路径名表示的文件是否是一个标准文件。

isHidden

判断抽象路径名表示的文件是否是一个隐藏文件。

lastModified

返回抽象路径名表示的文件最后一次被修改的时间。

length

返回由此抽象路径名表示的文件的长度。

list

返回抽象路径名下文件和目录的字符串。

listFiles

返回抽象路径名下文件。

listRoots

列出可用的文件系统跟。

mkdir

创建抽象路径名指定的目录。

mkdirs

创建抽象路径名指定的目录,包括所有必须但不存在的父目录。

renameTo

(File dest)

重新命名抽象路径名表示的文件。

toString

返回抽象路径名的字符串。

toURI

构造抽象路径名的file:URI

六、RandomAccessFile类

1、支持对随机访问文件的读取和写入。

2、类的方法

方法

参数

功能详述

RandomAccessFile

(File file, String mode)

创建文件随机读写流。

RandomAccessFile

(String name,

String mode)

创建文件随机读写流,文件由指定名称指定。

getChannel

返回与此文件关联的唯一FileChannel对象

getFD

返回与此关联的不透明文件描述符对象。

getFilePointer

返回此文件中的当前偏移量。

read

length

返回文件长度

readBoolean

从文件读取一个boolean

readByte

从文件读取一个有符号的八位值

readChar

从文件读取一个字符

readDouble

从文件读取一个double

readFloat

从文件读取一个Float

readFully

从当前文件指针开始读数据

readInt

从文件读取一个有符号32位整数

readLine

从文件读取文本的下一行

readLong

从文件读取一个有符号的64为整数

readShort

从文件读取一个有符号的16为整数

readUnsignedByte

从文件读取一个有符号的8为整数

readUnsignedShort

从文件读取一个有符号的16为整数

readUTF

从文读取一个字符串

seek

设置文件的偏移量(文件开头)

setLength

设置文件的长度

skipBytes

尝试跳过输入的 n 个字节以丢弃跳过的字节

write

写入数据

writeBoolean

向文件写入一个boolean

writeByte

按单字节向文件写入byte

writeBytes

按字节序列向文件写入

writeChar

按双字节向文件写入char

writeChars

按双字符序列向文件写入

writeDouble

向文件写入

writeFloat

向文件写入

writeInt

按4字节向文件写入int

writeLong

按8字节向文件写入long

writeShort

按2字节向文件写入short

writeUTF

使用 modified UTF-8 编码以与机器无关的方式将一个字符串写入该文件。

close

关闭

七、InputStreamReader类

1、字节转换字符流类。

2、类方法

方法

参数

功能详述

InputStreamReader

(InputStream in)

默认字符集

InputStreamReader

(InputStream in, Charset cs)

给定字符集

InputStreamReader

(InputStream in, CharsetDecoder dec)

给定解码器

InputStreamReader

(InputStream in, String charsetName)

指定字符集

getEncoding

返回流使用的字符编码的名称。

read

读取

ready

判断流是否已经准备好用于读取。

八、OutputStreamWriter类

1、字符转换字节流类。

2、类方法

方法

参数

功能详述

OutputStreamWriter

(OutputStream out)

默认字符编码

OutputStreamWriter

(OutputStream out, Charset cs)

给定字符集

OutputStreamWriter

(OutputStream out, CharsetEncoder enc)

给定解码器

OutputStreamWriter

(OutputStream out, String charsetName)

指定字符集

getEncoding

返回流使用的字符编码的名称

write

写入

flush

刷新流的缓冲

close

关闭流

九、ByteArrayInputStream

1、内存输入流

2、类方法

方法

参数

功能详述

ByteArrayInputStream

(byte[] buf)

buf为流缓冲区数组

ByteArrayInputStream

(byte[] buf, int off, int len)

buf为流缓冲区数组

字段buf

由流的创建者提供的byte数组。

字段count

比输入流缓冲区中最后一个有效字符的索引大一的索引。

字段mark

流中当前标记的位置。

字段pos

要输入流缓冲区中读取的下一个字符的索引。

available

返回可从此输入流读取(或跳过)的剩余字节数

read

从输入流中读取数据

skip

从输入流中跳过n个输入字节

reset

将缓冲区的位置重置为标记位置

mark

设置流中的当前标记位置

markSupported

判断流是否支持mark / reset

clsose

关闭

十、ByteArrayOutputStream类

方法

参数

功能详述

ByteArrayOutputStream

创建一个新的byte数组输出流

ByteArrayOutputStream

(int size)

创建一个新的指定大小的byte数组输出流

字段buf

存储数据的缓冲区

字段count

缓冲区中的有效字节数

write

将字节写入输出流

writeTo

将byte数组写入输出流

toString

使用默认的字符集,通过解码字节将缓冲区内容转换为字符串。

toByteArray

创建一个新分配的byte数组

size

返回缓冲区的当前大小

reset

将count字段重置为0,丢弃输出流中目前已积累的所有输出。

close

关闭

十一、PipedInputStream类

1、管道输入流,用于接收从另一个现场输出的数据。

2、类方法

方法

参数

功能详述

PipedInputStream

创建未连接的流

PipedInputStream

(int pipeSize)

创建未连接的流,并且设置缓冲区大小

PipedInputStream

(PipedOutputStream src)

创建连接的流

PipedInputStream

(PipedOutputStream src, int size)

创建连接的流,并且设置缓冲区大小

字段buffer

数据循环缓冲区

字段in

接收下一个数据将保存的位置索引

字段out

数据读取位置的前一个位置索引

字段PIPE_SIZE

数据缓冲区的默认大小

read

读取流中的下一个数据

receive

接收数据字节

connect

连接管道输出流

available

返回可以不受阻塞地从此输入流中读取的字节数。

close

关闭

十二、PipedOutputStream类

1、管道输出流。用于将线程的数据输出到另一个线程中。

2、类方法

方法

参数

功能详述

PipedOutputStream

创建未连接的流

PipedOutputStream

(PipedInputStream snk)

创建连接的流

write

将数据写入传送的管道输出流。

flush

刷新流并强制写出所有缓冲的输出字节。

connect

将流连接到指定管道输入流

close

关闭