Java I/O 输入输出流(四)——字节流之文件输入流FileInputStream-1

字节流之文件输入流FileInputStream-1

  • 它就是IO流(输入流、输出流)
  • 又分为字节流,字符流

字节流

1)InputStream、OutputStream

  • InputStream抽象了应用程序读取数据的方式
  • OutputStream抽象了应用程序写出数据的方式
    2)EOF = End读到-1就读到结尾
    3)输入流的基本方法(读)
  • int b = in.read;读取一个字节无符号填充到int的第八位,-1是EOF。
  • in.read(byte[] buf);读取数据填充到字节数组buf.
  • int.read(byte[] buf,int start,int size);读取数据到字节数组buf从buf的start位置开始,存放size长度的数据。
    4)输出流的基本方法
  • out.write(int b);写出一个byte到流,b的第八位。
  • out.write(byte[] buf)将buf字节数组都写入到流。
  • out.write(byte[] buf,int start,int size);字节数组buf从start位置开始写size长度的字节到流。
  • FileInputStram ——>具体实现了在文件上读取数据

写一个工具类:IOUtil.java

public class IOUtil{
/*
 *读取指定文件内容,按照16进制输出控制台
 *并且输出10个byte换行
 */
  public static void printHex(String fileName)throws IOException{
//把文件作为字节流进行读操作
   FileInputStream in = new FileInputStream(file Name);
    int b;
   int i = 1;
   while((b = in.read())!=-1){
   if(b <=0xf){
   //单位数前补0
    System.out.print(("0");
   }
  System.out.println(Tnteger.to HexString(b)+"  ");//将整型b转换为16进制表示的字符串输出
     if(i++%10==0){
     System.out,println();
    }
   }
  int close();
 }
}

接下来写一个测试类:IOUtilTest1.java

public class IOUtilTest1{
  public static void main (String[] args){
     try{
          IOUtil.printHex("e:\\javaio\\FileUtils.java");
         }catch(IOExceorion){
         e.printstackTrace();
         }  
  }
}
Java I/O 输入输出流(四)——字节流之文件输入流FileInputStream-1_第1张图片
运行结果

你可能感兴趣的:(Java I/O 输入输出流(四)——字节流之文件输入流FileInputStream-1)