我们首先以文件流FileReader为基础,介绍一些流的基本使用方法
这里我们首先要创建一个".txt"的文件,然后将文件中的内容读入流中,并输出到控制台
package io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class IOTest {
public static void main(String[] args) throws IOException {
//①实例化File类的对象,指明要操作的文件
File file = new File("F:/123.txt");
//②提供具体的流
FileReader fr = new FileReader(file); //需要抛出异常
//③数据的读入
//方式一:
int data = fr.read(); //需要抛出异常
while (data!=-1){
System.out.print((char)data);
data=fr.read();
}
//方式二:语法上针对方式一的修改
int data1;
while((data1 = fr.read()) != -1){
System.out.println((char)data1);
}
//④流的关闭
fr.close();
}
}
注:
-
上面在我申明需要抛出异常的地方都要抛出一个IOException异常,因为写入的文件位置可能会有误,导致计算机无法读到
-
在读入数据时需要调用read()方法,用于返回读入的一个int型的字符.如果read()方法返回的为-1,则表示文件读入完毕,或文件为空
-
此处还有一个读入方法read( byte [] b) //每次读取一个byte数组个字节内容,返回实际向数组中装入的字节数组.这样可以提高我们的读取效率
byte[] b = new byte[1024]; int size = 0; while ((size=in.read())!=-1){ System.out.println(size); out.write(b,0,size); //每次向外写出一个byte数组个字节 }
-
-
在执行结束所需的操作后,必须手动关闭流,因为涉及到物理连接,不关闭的话会一直占用文件,导致文件无法删除,JVM无法自动回收处理