FileInputStream类称为文件输入流,继承于InputStream类,是进行文件读操作的最基本类;它的作用是将文件中的数据输入到内存中,我们可以利用它来读文件;它属于字节流。
import java.io.*;
public class Test2 {
public static void method(File file)
{
try (InputStream inputStream=new FileInputStream(file)){
byte[] bytes=new byte[1024];
Integer i=0;
while ((i=inputStream.read(bytes,0,bytes.length))!=-1)
{
System.out.println(new String(bytes));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
method(new File("E:\\Lemon Tree - 王若琳.txt"));
}
}
一、运用多态的写法新建一个FileInputStream类的对象inputStream,使之与filed对象(即歌词文件)相关联;
二、inputStream对象使用read方法,将歌词文件内容读取到内存中,一次读取bytes.lenth个(即1024)字节长度;
三、当读到文件末尾时,read方法的返回值为-1,因此while循环中加入了逻辑判断语句,用整形i的值保存read方法的返回值,如果没读取完毕,则继续在控制台输出;若读取完毕,则read方法返回-1,循环结束,文件读取完毕;
四、FileInputStream为字节流,读取中文字符可能会出现乱码。