4-1 字节流之文件输入流FileInputStream
IO流(输入流、输出流)
又分为字节流、字符流
1.字节流
1)InputStream、OutputStream
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2)EOF=End 读到-1就读到结尾
3)输入流基本方法 假如键盘是一个输入文件,是用来读的
int b=in.read();//读取一个字节无符号填充到int低八位。-1是EOF
in.read(byte[] buf);//读取数据填充到字节数组buf
in.read(byte[] buf,int start,int size);//读取数据到字节数组buf,从buf的start位置开始存放size长度的数据
4)输出流基本方法
out.write(int b);//写出一个byte到流,b的低8位
out.write(byte[] buf);//将buf字节数组都写入到流
out.write(byte[] buf,int start,int size);//字节数组buf从start位置开始写size长度的字节到流
5)FileInputStream(继承了OutputStream)具体实现了在文件上读取数据
package com.yxt.haha;
import java.io.FileInputStream;
import java.io.IOException;
public class IOUtil {
/*
* 读取指定文件内容,按照16进制输出到控制台
* 并且每输出10个byte则换行
*/
public static void printHex(String filename) throws IOException{
//把文件作为字节流进行读操作
FileInputStream in=new FileInputStream(filename);
int b;
int i=1;
while((b=in.read())!=-1){
if(b<=0xf)//单位数前面补0
System.out.println("0");
System.out.print(Integer.toHexString(b)+" ");
if(i++%10==0)
System.out.println();
}
}
}