字节输入流
-
java.io.InputStream 此抽象类是表示字节1输入流的所有的超类。
- 定义了所有子类共有的方法:
- int read() 从输入流中读取数据的下一个字节。
- int read(byte[] b)从输入流中读取一定熟量的字节,并将其存储在缓冲区数组b中。
- void close() 关闭输入流,释放资源。
- 定义了所有子类共有的方法:
-
java.io.FileInputStream extends InputStream
- 构造方法:
- FileInputStream(String name)
- FileInputStream(File file)
- 参数:读取文件的数据源
- 构造方法:
使用步骤:
- 创建FileInputStream对象,构造方法中绑定要读取的数据源
- 使用FileInputStream对象中的read方法,读取文件
- 释放资源
FileInputStream fs = new FileInputStream("./a.txt");
//读取一个字节,并返回,读取到末尾返回-1
//int read = fs.read();
//System.out.println(read);
int len = 0;
while ((len = fs.read())!=-1){
System.out.println((char)len);
}
fs.close();
一次读取多个字节的方法
-
int read(byte[] b)从输入流中读取一定熟量的字节,并将其存储在缓冲区数组b中。
- 方法返回读取字节的有效个数
-
String类的构造方法
- String(byte[] bytes):把字节数组转化为字符串
//读取多个字节
public static void main(String[] args)throws Exception {
FileInputStream fs = new FileInputStream("./a.txt");
//byte [] b=new byte[3];
//fs.read(b);
//fs.close();
//System.out.println(new String(b));
//读取1kb的数据
byte[] b = new byte[1024];
//记录每次读取的有效个数
int len = 0;
while ((len = fs.read(b)) != -1) {
System.out.println(len);
//使用String的构造方法将字节转化为字符串
System.out.println(new String(b,0,len));
}
}
标签:fs,java,字节,read,len,FileInputStream,输入,读取
From: https://www.cnblogs.com/-xyk/p/16757542.html