java I/O流、输入输出文件操作


java中针对输入/输出定义了相对应的接口,java的I/O包括:

1.字节流

2.字符流

3.文件流

4.对象流

5.线程之间的通信的管道流


处理接口

1.处理字节流的DataInout和DataOutput接口

2.处理对象流的ObjectInput和ObjecetOutput接口

3.筛选文件名的FileNameFilter接口

4.处理对象流的Serializable接口。该对象是对象序列化开关,不含任何抽象方法或常量,输入/输出的对象在传输前都必须实现该接口


抽象类

1.字节流的抽象类InputStream和OutputStream

2.过滤流的抽象类FilterOutputStream和FilterInputStream

3.字符流的抽象类Reader和Writer

4.压缩抽象类InflaterInputStream和DeflaterOutputStream


File类

RamdomAccessFile 提供了对文件进行随机访问的功能,它继承了Object类,实现了DataInput和DataOut接口,因此RandomAccessFile类有输入和输出功能,可以访问文件的任意位置。RandomAccessFile类具有以下常用方法

1.length()获取文件长度

2.seek()查找文件记录

3.close()关闭文件资源

4.readDouble()、readInt()、readChar()读取文件内容

5.skipBytes()跳过指定字节


file类只操作文件在磁盘的属性,读写文件内容的功能需要流类提供




字节流

字节输入流均为InputStream的子类,它们需要实现DataInput接口,DataInputStream是一个实现了该接口的类。字节输出流均为OutputStream的子类,需要DataOutput接口,DataOutStream是一个实现了该接口的类

字节流中典型流类

1.DataInputStream

以二进制文件作为构造方法参数创建FileInputStream类,又以FileInputStream类作为构造方法参数创建DataInputStream类

方法:

read()数据读入

available()获取可读字节数

skip()跳过读入字节

close()关闭输入流

2.DataOutputStream

以二进制文件作为构造方法参数创建FileOutputStream类,又以FileOutputStream类作为构造方法参数创建DataOutputStream类

方法:

writeDouble();writeInt();writeChar();write() 写入输出流

flush()清空输出缓冲区,强制写入输出流


3.ByteArrayInputStream

直接访问内存,读取字节数组中的数据

父类:InputStream

方法:read();skip();available();markSupported();mark();reset();close()


4.ByteArrayOutputStream

直接访问内存,写入数据到字节数组

父类:OutputStream

方法:

write();writeTo();reset();close();

toByteArray()把缓存区内容复制到新创建的数组

size()取得当前缓冲区大小

toString把数据内容转化为ENC编码的字符串


5.StringReader

以字符串的方式读取内容

父类:Reader

read()读取缓存区中的字符串并转换成字节

猜你喜欢

转载自blog.csdn.net/qq_31847191/article/details/80019609