InputStream
FileInputStream:文件字节输入流。
作用:把硬盘文件中的数,读取到内存中使用
import java.io.FileInputStream;
import java.io.IOException;
/*
FileInputStream:文件字节输入流。
作用:把银盘文件中的数,读取到内存中使用
构造方法:
FileInputStream(String name)
FileInputStream(File file)
参数:读取文件的数据源
String name:文件的路径
File file:文件
构造方法的作用:
1.会创建一个FileInputStream对象
2.会把FileInputStream对象指定构造方法中要读取的文件
字节输入流的使用步骤(重点):
1.使用FileInputStream对象,构造方法中绑定要读取的数据源
2.使用FileInputStream对象中的方法read,读取文件
3.释放资源
*/
public class InputStreamDemo01 {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("E:\\java\\Utile\\untitled\\src\\cn\\OutputStream\\c.txt");
//int read()读取文件中的一个字节并返回,读取到文件的末尾返回-1
int len;
while((len = fis.read())!=-1){
System.out.println(len);
}
fis.close();
}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
/*
字节输入流一次读取多个字节的方法
int read(byte[] b)从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中
*/
public class InputStreamDemo02 {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("E:\\java\\Utile\\untitled\\src\\cn\\OutputStream\\b.txt");
//int read(byte[] b)
/*byte[] bytes = new byte[2];
int len = fis.read(bytes);
System.out.println(len);//2
System.out.println(Arrays.toString(bytes));//[48, 49]
System.out.println(new String(bytes));//01*/
//由于读取需要反复进行,将代码进行优化
byte[] bytes = new byte[1024];
int len = 0;//记录每次读取的有效字节个数
while((len = fis.read(bytes))!=1){
//使用String类的构造方法,String(byte[] bytes,int offset,int length) 把字节数组的一部分转化为字符串
//offset:数组开始索引,length:转换的字节个数
System.out.println(new String(bytes,0,len));
}
fis.close();
}
}