一:输入流步骤
1.设定输入流的源
2.创建指向源的输入流
3.让输入流读取源中的数据
4.关闭输入流
二:具体用法
1.构造方法
FileInputStream(File file);通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name);通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数name和file指定的文件称为输入流的源
FileInputStream输入流打开一个到达文件的通道(源是指该文件,输入流指向这个文件),输入流出现的异常是IOException异常
2.案例:读取名为hello.txt的文件
方法一:
try{
FileInputStream in=new FileInputStream(“hello.txt”);//创建指向文件的流
}
catch(IOException e){
System.out.println(“File read error:”+e);
}
方法二:
File f=new File(“hello.txt”);//创建输入流的源
try{
FileInputStream in=new FileInputStream(f);//创建指向源的输入流
}
catch(IOException e){
System.out.println(“File read error:”+e);
}
3.使用输入流读取字节
文件字节流可以调用从父类继承的read方法顺序的读取文件,只要不关闭流,每次调用read方法就顺序的读取文件中的其余内容,直到文件的末尾或者文件的字节流被关闭。
int read()输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0~225之间的一个整数),如果未读出字节就返回—1
int read(byte b[]) 输入流调用该方法从源中试图读取b.length个字节到数组b中,返回实际读取的字节数,如果达到文件的末尾返回-1.
int read(byte b[],int off,int len)输入流调用该方法,从源中试图读取len个字节到数组b中,并返回实际读取的字节数目,如果达到文件末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据。
FileInputStream流顺序的读取文件,只要不关闭流,每次调用read方法就顺序取源中的其余内容。
4.关闭流
输入流提供关闭方法close();
1.设定输入流的源
2.创建指向源的输入流
3.让输入流读取源中的数据
4.关闭输入流
二:具体用法
1.构造方法
FileInputStream(File file);通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name);通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数name和file指定的文件称为输入流的源
FileInputStream输入流打开一个到达文件的通道(源是指该文件,输入流指向这个文件),输入流出现的异常是IOException异常
2.案例:读取名为hello.txt的文件
方法一:
try{
FileInputStream in=new FileInputStream(“hello.txt”);//创建指向文件的流
}
catch(IOException e){
System.out.println(“File read error:”+e);
}
方法二:
File f=new File(“hello.txt”);//创建输入流的源
try{
FileInputStream in=new FileInputStream(f);//创建指向源的输入流
}
catch(IOException e){
System.out.println(“File read error:”+e);
}
3.使用输入流读取字节
文件字节流可以调用从父类继承的read方法顺序的读取文件,只要不关闭流,每次调用read方法就顺序的读取文件中的其余内容,直到文件的末尾或者文件的字节流被关闭。
int read()输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0~225之间的一个整数),如果未读出字节就返回—1
int read(byte b[]) 输入流调用该方法从源中试图读取b.length个字节到数组b中,返回实际读取的字节数,如果达到文件的末尾返回-1.
int read(byte b[],int off,int len)输入流调用该方法,从源中试图读取len个字节到数组b中,并返回实际读取的字节数目,如果达到文件末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据。
FileInputStream流顺序的读取文件,只要不关闭流,每次调用read方法就顺序取源中的其余内容。
4.关闭流
输入流提供关闭方法close();
三:案例
四:案例二
上面代码存在缺点,受到byte数组开辟空间大小的限制,开辟动态数组空间,根据文件大小决定,使用read(),一个字节一个字节读取。