使用输入流InputStream读取字节,文件输入流即FileInputStream
构造方法
FileInputStream(String name);
FileInputStream(File name);
字节输入流的read方法以字节为为单位读取源中的数据。
int read()
输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0-255之间的一个整数),如果未读出字节就返回-1.
int read(byte b[])
输入流调用该方法从源中试图读取b.length个字节到字节数组b中,返回实际读取的字节数目。如果未到达文件的末尾,则返回-1.
int read (byte b[],int off,int len)
输入流调用该方法从源中视图读取len个字节到字节数组b中,并返回实际读取的字节数目。如果到达文件的末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据。
写个小例子加深记忆:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Example10_4 {
public static void main(String[] args) {
int n = -1;
byte[] a = new byte[100];
try {
File f = new File("D:/JavaProject/JavaShiYan/src/com/java/zhang10/", "Example10_4.java");
InputStream in = new FileInputStream(f);
//返回读取的字节数
while ((n = in.read(a, 0, 100)) != -1) {
System.out.println("字节数:" + n);
String str = new String(a, 0, n);
System.out.println(str);
}
//返回读取的字节数
while ((n = in.read(a)) != -1) {
System.out.println("字节数:" + n);
String str = new String(a, 0, n);
System.out.println(str);
}
//返回字节对应的数值0-255
while ((n = in.read()) != -1) {
System.out.println("n:" + n);
}
in.close();
} catch (IOException e) {
System.out.println("e:" + e);
}
}
}
JAVA字节输出流:Java文件字节输出流_暴走小胡的博客-CSDN博客
JAVA字符输入输出流:Java文件字符输入、输出流_暴走小胡的博客-CSDN博客