文件字节输入流
java.io.FileInputStream
将硬盘中的数据读取到内存中使用,以字节的方式读取
abstract int read() 从输入流中读取数据的下一个字节。
int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
void close() 关闭此输入流并释放与该流关联的所有系统资源。
构造方法
FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数
name 文件的路径
file File对象
作用
构造一个FileInputStream对象 用于读取硬盘中的文件
步骤
1.构造一个FileInputSteam对象
2.用read方法
3.释放输出流
read() 方法会在调用后自动指向下一位,读取到-1(默认文件的结尾为-1)表示文件的结束
/*
例1用read()读取单个字节
*/
File file = new File("C:\\Users\\Administrator\\Desktop\\java学习\\新建文本文档.txt");
//定义一个长整型储存文件的长度
long i = file.length();
FileInputStream fis = new FileInputStream(file);
int len=0;
//每当读取循环条件的时候会自动指向下一个字节
while( (len=fis.read())!= -1) {
//read(),返回值是数字用String的(char)方法可以强转为字符
System.out.println((char) fis.read());
}
fis.close();
/*
例2 用read()读取字节数组(相较读取单个字节效率更高)
*/
File file = new File("C:\\Users\\Administrator\\Desktop\\java学习\\新建文本文档.txt");
long i = file.length();
FileInputStream fis = new FileInputStream(file);
int len=0;
//定义字节数组作为缓冲区
byte b=new byte[1024];//[]中为缓冲区可存放的字节个数1024个字节=1kb(视文件大小而定)
while( (len=fis.read(b))!= -1) {
System.out.println(new String(b));
}
fis.close();
文件字节输出流
java.io
类 FileOutputStream
将内存中的数据写到硬盘中储存
abstract int read() 从输入流中读取数据的下一个字节。
int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
void close() 关闭此输入流并释放与该流关联的所有系统资源。
FileInputStream文件输入流
作用将硬盘中的文件读到内存中使用
构造方法
FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数
name 文件的路径
file 文件
作用
构造一个FileInputStreamd对象 用于读取硬盘中的文件
步骤
1.构造一个FileInputSteam对象
2.用read方法
3.释放输出流
代码与文件输入流相似