流和文件( 3)
辽宁经济职业技术学院信息系
硕士、副教授 陈英
输入输出方法
方法 read()提供了三种从流中读数据的方法,
int read():读一个整数
int read(byte b[]):读多个字节到数组中
int read(byte,int off,int len);
属于 OutputStream类的方法有,
write(int b):将一个整数输出到流中
write(byte b[]):将数组中的数据输出到流中
write(byte b[],int off,int len):将数组 b中从 off
指定的位置开始 len长度的数据输出到流中
输入输出方法
flush():将缓冲区中的数据强制送出
close():关闭流,
PrintStream类
println()不属于 OutputStream类,它是
PrintStream类的子类,能提供复杂的输出
PrintStream类的方法有,
write,flush,checkError,print,println,close.
其中 println可以输出多种形式的数据,例如,
println(String s),println(char c)等
输入输出方法
只有缓冲区满时,才会将数据送到输出流,
Java在输出数据流中,当对方尚未将数据取走
时,程序就会被阻塞,
有时要人为地将尚未填满的缓冲区中的数据
送出,使用 flush()方法,
文件
文件的输入输出
FileInputStream( String name)
使用 name参数指定的文件路径来创建一个新的
文件输入流。
FileInputStream( File f)
使用封装进 File对象中的信息来创建一个新的
文件输入流。
FileOutputStream( String name)
根据 name字符串创建一个新的文件输出流。路
径名并不是绝对的,它相对于当前工作目录。
注:该方法会把已经存在的同名文件删除。
java.io.BufferedInputStream
BufferedInputStream(InputStream in)
使用默认的缓冲大小来创建一个新的缓冲流。
一个缓冲输入流从一个流中读取字符但不会
每次都导致设备访问。当缓冲为空时,一个
新的数据块就会被读取到缓冲中。
BufferedInputStream(InputStream in,int n)
使用用户定义的缓冲大小来创建一个新的缓
冲流。
java.io.BufferedOutputStream
BufferedOutputStream(OutputStream out)
使用默认的缓冲大小来创建一个新的缓冲流。
一个缓冲输出流会收集被写的字符而不会每
次都导致设备访问。当缓冲已满后,或者流
被清洗,那么数据就会被写访问。
BufferedInputStream(OutputStream out,int
n)
使用用户定义的缓冲大小来创建一个新的缓
冲流。
随机存取文件
RandomAccessFile流用于读写一个文件中任
意位置的数据。它实现了 DataInput和
DataOutput接口。
zip文件需要用随机方法处理
文件目录给出个文件的入口,可以随机读取,
创建一个随机文件
new RandomAccessFile(“file1.txt”,“r”);
new RandomAccessFile(“file2.txt”,“rw”);
随机文件可以同时完成读和写操作,
文件目录zip文件
随机存取文件
磁盘文件可以随机访问,但是来自网络
连接的数据则不可以这么做。
打开一个随机访问文件的方法或者是只
读或者是读写。这需要分别把字符串,r”
(随机读)或者,rw”(随机读写)作为
构造器的第二个参数。
RandomAccessFile in = new
RandomAccessFile(“employee.dat”,”r”);
RandomAccessFile inOut = new
RandomAccessFile(“employee.dat”,”rw”);
随机存取文件
支持随机文件操作的方法,
readXXX()或 writeXXX()
skipBytes();将指针乡下移动若干字节
seek():将指针调到所需位置
getFilePointer():返回指针当前位置
length():返回文件长度
利用 seek(long pos)方法查找随机文件中的信息
例,把若干个 32位的整数写到一个名为
,temp.dat”的文件中,然后利用 seek方法,以相
反的顺序再读取这些数据
java.io.RandomAccessFile
一个随机文件也具有一个文件指针。该文件指针总是表
明下一个需要读写记录的位置。 Seek方法用于把文件指
针设置到文件的任意字节位置。
getFilePointer方法返回文件指针的当前位置。
RandomAccessFile(String name,String mode)
其中参数 name表示文件名,mode为,r”用于只读;
,rw”用于读写。
long getFilePointer() 返回指针的当前位置。
void seek(long pos)
把文件指针设置为偏移文件开始的 pos字节处。 Pos值介
于 0到文件长度(单位字节)之间。
long length() 返回文件的长度(单位字节)。
ZIP文件流
ZIP文件是存储了一个或多个文件的存档文
件,它通常使用压缩格式。
每个 ZIP文件都有一个头部,它包含了文件
名和使用的压缩方法等信息。
Java使用 ZipInputStream来读取一个 ZIP文
件。其方法是在 ZipInputStream构造器中使
用一个 FileInputStream。接着你需要查看存
档中的每一项,
getNextEntry方法返回一个 ZipEntry类型的
对象。
辽宁经济职业技术学院信息系
硕士、副教授 陈英
输入输出方法
方法 read()提供了三种从流中读数据的方法,
int read():读一个整数
int read(byte b[]):读多个字节到数组中
int read(byte,int off,int len);
属于 OutputStream类的方法有,
write(int b):将一个整数输出到流中
write(byte b[]):将数组中的数据输出到流中
write(byte b[],int off,int len):将数组 b中从 off
指定的位置开始 len长度的数据输出到流中
输入输出方法
flush():将缓冲区中的数据强制送出
close():关闭流,
PrintStream类
println()不属于 OutputStream类,它是
PrintStream类的子类,能提供复杂的输出
PrintStream类的方法有,
write,flush,checkError,print,println,close.
其中 println可以输出多种形式的数据,例如,
println(String s),println(char c)等
输入输出方法
只有缓冲区满时,才会将数据送到输出流,
Java在输出数据流中,当对方尚未将数据取走
时,程序就会被阻塞,
有时要人为地将尚未填满的缓冲区中的数据
送出,使用 flush()方法,
文件
文件的输入输出
FileInputStream( String name)
使用 name参数指定的文件路径来创建一个新的
文件输入流。
FileInputStream( File f)
使用封装进 File对象中的信息来创建一个新的
文件输入流。
FileOutputStream( String name)
根据 name字符串创建一个新的文件输出流。路
径名并不是绝对的,它相对于当前工作目录。
注:该方法会把已经存在的同名文件删除。
java.io.BufferedInputStream
BufferedInputStream(InputStream in)
使用默认的缓冲大小来创建一个新的缓冲流。
一个缓冲输入流从一个流中读取字符但不会
每次都导致设备访问。当缓冲为空时,一个
新的数据块就会被读取到缓冲中。
BufferedInputStream(InputStream in,int n)
使用用户定义的缓冲大小来创建一个新的缓
冲流。
java.io.BufferedOutputStream
BufferedOutputStream(OutputStream out)
使用默认的缓冲大小来创建一个新的缓冲流。
一个缓冲输出流会收集被写的字符而不会每
次都导致设备访问。当缓冲已满后,或者流
被清洗,那么数据就会被写访问。
BufferedInputStream(OutputStream out,int
n)
使用用户定义的缓冲大小来创建一个新的缓
冲流。
随机存取文件
RandomAccessFile流用于读写一个文件中任
意位置的数据。它实现了 DataInput和
DataOutput接口。
zip文件需要用随机方法处理
文件目录给出个文件的入口,可以随机读取,
创建一个随机文件
new RandomAccessFile(“file1.txt”,“r”);
new RandomAccessFile(“file2.txt”,“rw”);
随机文件可以同时完成读和写操作,
文件目录zip文件
随机存取文件
磁盘文件可以随机访问,但是来自网络
连接的数据则不可以这么做。
打开一个随机访问文件的方法或者是只
读或者是读写。这需要分别把字符串,r”
(随机读)或者,rw”(随机读写)作为
构造器的第二个参数。
RandomAccessFile in = new
RandomAccessFile(“employee.dat”,”r”);
RandomAccessFile inOut = new
RandomAccessFile(“employee.dat”,”rw”);
随机存取文件
支持随机文件操作的方法,
readXXX()或 writeXXX()
skipBytes();将指针乡下移动若干字节
seek():将指针调到所需位置
getFilePointer():返回指针当前位置
length():返回文件长度
利用 seek(long pos)方法查找随机文件中的信息
例,把若干个 32位的整数写到一个名为
,temp.dat”的文件中,然后利用 seek方法,以相
反的顺序再读取这些数据
java.io.RandomAccessFile
一个随机文件也具有一个文件指针。该文件指针总是表
明下一个需要读写记录的位置。 Seek方法用于把文件指
针设置到文件的任意字节位置。
getFilePointer方法返回文件指针的当前位置。
RandomAccessFile(String name,String mode)
其中参数 name表示文件名,mode为,r”用于只读;
,rw”用于读写。
long getFilePointer() 返回指针的当前位置。
void seek(long pos)
把文件指针设置为偏移文件开始的 pos字节处。 Pos值介
于 0到文件长度(单位字节)之间。
long length() 返回文件的长度(单位字节)。
ZIP文件流
ZIP文件是存储了一个或多个文件的存档文
件,它通常使用压缩格式。
每个 ZIP文件都有一个头部,它包含了文件
名和使用的压缩方法等信息。
Java使用 ZipInputStream来读取一个 ZIP文
件。其方法是在 ZipInputStream构造器中使
用一个 FileInputStream。接着你需要查看存
档中的每一项,
getNextEntry方法返回一个 ZipEntry类型的
对象。