FileInputStream 可以以字节流的形式读取文件的内容。FileInputStream 是 InputStream 的子类,这意味着你可以把 FileInputstream 当做 InputStream 使用。
InputStream input = new FileInputStream("文件");
int data = input.read();
while(data != -1){
doSomethingWithData(data);
data = input.read();
}
input.close();
请注意,为了清晰,这里忽略了必要的异常处理。
FileInputStram 的 read() 方法返回读取的包含一个字节内容的 int 变量,如果 read() 方法返回 -1 ,意味着程序已经读到流末尾,此时流内已经没有多余的数据可供读取了,你可以关闭流。-1 是一个 int 类型,不是 byte 类型。
FileInputStream 也有其他的构造函数,允许你通过不同的方式读取文件。
其中一个 FileInputStream 构造函数取一个 File 对象替代 String 对象作为参数。这里是一个使用该构造函数的例子:
File file = new File("c:\\data\\text.txt");
InputStream input = new FileInputStream(File);
至于你该采用参数是 String 对象还是 File 对象的构造函数,取决你当前是否已经拥有一个 File 对象,也取决你是否要在打开 FileOutputStream 之前通过 File 对象执行某些检查。(比如检查该文件是否存在)