1,相关的方法:(FileInputStream类)字节输入流
read:
1. **在读取一个字符时,返回的值是一个已读取数据的数据对应字节码;**
1. **在读取多个字符时,返回值是一个已读取数据的数量;**
注意:当所有数据取出后,返回的数量变为 :-1;
字节码转字符:读一个用char来转;读多个在数组中用String来转;
i,字节输入流读取步骤:
创建输入流对象:
FileInputStream fileOutputStream = new FileInputStream("G:\\abc.txt");
从流中循环读取一个字节数据:(效率低)
public class Text {
public static void main(String[] args) throws IOException {
FileInputStream fileOutputStream = new FileInputStream("G:\\abc.txt");
//定义一个变量保存每次读取到的数据的字节码
int b;
//循环读取数据,等于-1停止
while ((b = fileOutputStream.read()) != -1){
//转为字符输出:
System.out.println((char) b);
}
}
}
流中循环读取多个字节保存到参数的数组中:(推荐:效率高,且稳定,5是最快的)
推荐数组长度设置为:1024 * 8 ;且数组类型是 byte 的;
public class Text {
public static void main(String[] args) throws IOException {
//创建输入流:
FileInputStream fis = new FileInputStream("G:\\abc.txt");
byte[] bytes = new byte[1024 * 8];
int len;
while (( len = fis.read(bytes)) !=-1){
//输出每次读取的数量;
System.out.println(len);
//用int转String的api方法将机器码转为字符;
System.out.println(new String(bytes));
}
}
}
关闭输入流:
fileOutputStream.close();