1 、 FileInputStream 类 FileInputStream(String name)使用给定的文件名 name 创建一个 FileInputStream 对象 FileInputStream(File file)使用 File 对象创建 FileInpuStream 对象 File 类有两个常用方法: File(String s) s 确定文件名字; File(String directory,String s) directory 是文件目录 处理 I/O 异常 当出现 I/O 错误的时候, Java 生成一个 IOException(I/O 异常 ) 对象来表示这个错误的信号。 程序必须使用一个 catch 检测这个异常 从输入流中读取字节 int read()返回 0~255 之间一个整数,如果到输入流末尾,则返回 -1
int read(byte b[])读取字节数组 int read(byte b[],int off,int len) : off 指定把数据存放在 b 中什么地方, len 指定读取的最大字节数 关闭流 close()
2 、 FileOutputStream 类 FileOutputStream(String name)使用指定的文件名 name 创建 FileOutputStream 对象 FileOutputStream ( File file ) 使用 file 对象创建 FileOutputStream 对象 FileOutputStream ( FileDescriptor fdobj ) 使用 FileDescriptor 对象创建 FileOutputStream 对象 3、 FileReader 类和 FileWriter 类 FileReader(String filename) ; FileWriter(String filename)处理时需要 FileNotFoundException 异常 4、 RandomAccessFile 类 RandomAccessFile 不同于 FileInputStream 和 FileOutputStream, 不是他们的子类 当我们想对一个文件进行读写操作的时候,创建一个指向该文件的 RandomAccessFile 流就行了 RandomAccessFile 类有两个构造方法: RandomAccessFile ( String name, String mode ) name 是文件名, mode 取 r( 只读 ) 或 rw( 读写 )
RandomAccessFile ( File file,String mode ) file 给出创建流的源 seek(long a)移动 RandomAccessFile 流指向文件的指针 ,a 确定指针距文件开头的位置 getFilePointer()获取当前文件的指针位置; close()关闭文件 getFD()获取文件的 FileDescriptor ; length()获取文件长度 read()读取一个字节数据; readBoolean()读取一个布尔值; readByte()读取一个字节 readChar() ; readFloat() ; readFully(byte b[]) ; readInt() ; readLine() ; readLong()
readUnsignedShort() ; readUTF()读取一个 UTF 字符串 setLength(long newLength)设置文件长度; skipByte(int n)在文件中跳过给定数量的字节 write(byte b[])写 b.length 个字节到文件; writeBoolean(bolean b)
writeByte(int v) ; writeChar(char c) ; writeChars(String s) ; writeDouble(double d)
writeFloat(float v) ; writeInt(int i) ; writeLong(long l) ; writeShort(int i)
writeUTF(String s)
5 、 管道流 PipedInputStream 类; PipedInputStream()创建一个管道输入流 PipedInputStream ( PipedOutputStream a ) 连接到输出流 a 的输入流 read()从输入流中读取一个字节 read(byte b[],int off,int len) off 是在 b 中的开始位置, len 是字节长度 PipedOutputStream 类; PipedOutputStream()创建一个输出流 PipedOutputStream(PipedInputStream a)连接到输入流 a 的输出流 write(int b) ; write(byte b[],int off,int len)
counnect()连接输入输出流; close()关闭流;在使用的时候要捕获 IOException 异常。 6、 数据流 DataInputStream 类 ( 数据输入流 )
DataInputStream(InputStream in)将数据输入流指向一个由 in 指定的输入流 DataOutputStream 类 ( 数据输出流 )
DataOutputStream(OutputStream out)将数据输出流指向一个由 out 指定的输出流 主要方法: close() ; read()读取一个字节数据; readBoolean()读取一个布尔值 readByte()读取一个字节; readChar() ; readFloat() ; readFully(byte b[])
readInt() ; readLine() ; readLong() ; readUnsignedShort()
readUTF()读取一个 UTF 字符串; skipByte(int n)在文件中跳过给定数量的字节 write(byte b[])写 b.length 个字节到文件; writeBoolean(bolean b)
writeByte(int v) ; writeChar(char c) ; writeChars(String s) ; writeDouble(double d) ; writeFloat(float v) ; writeInt(int i)
writeLong(long l) ; writeShort(int i) ; writeUTF(String s)
7 、 对象流 ObjectInputStream 类和 ObjectOutputStream 类分别是 DataInputStream 类和 DataOutputStream 类的子类 8、 回压输入流 PushbackInputStream 类; PushbackInputStream(InputStream in)
PushbackReader 类; PushbackReader(Reader in)
unread(char c)回压一个字符; unread(char c[])回压数组 c 中全部字符 unread(char c[],offset,int n)回压 c 中从 offset 开始的 n 个字符