java第二十节-字节流FileOutputStream-读

来源:互联网 发布:ubuntu live桌面用户名 编辑:程序博客网 时间:2024/04/29 12:07

一、字节流、字符流

1、字节流

     a、Inputstream 、Outputstream

     Inputstream  :抽象了应用程序读取数据的方式  

     Outputstream  :  抽象了应用程序写出数据的方式

     b、EOF=End  得到-1就读到结尾

     c、输入流的基本方法

     int  b = in.read();读取一个字节无符号填充到整型的低八位 

     in.read(byte[] buf)

     in.read(byte[] buf,int start,int size)从start开始写,写size个字节

     d、输出流基本方法

     out.write(int b)写一个byte到流,b的低8位

     out.write(byte[] buf)将buf字节数组写到流

     out.write(byte[] buf,int start,int size)

    e、FileInputeStream     具体实现了在文件上读取数据


二、字节流读取实例


package com.file;import java.io.FileInputStream;import java.io.IOException;public class IoUtil {/* * 读取文件内容,以16进制方式输出 * 10byte换行 * */public static void printHex(String fileName) throws IOException{//把文件作为字节流进行操作 FileInputStream in = new FileInputStream(fileName); int b; int i=-1; //循环输出 while ((b=in.read())!=-1){ System.out.print(Integer.toHexString(b)+"  ");//以16进制输出 if (i++%10==0){ System.out.println(); } } in.close();//关闭}  }


public static void printHexByte(String fileName) throws IOException{FileInputStream in = new FileInputStream(fileName);//文件读到字节数组中byte[] buf = new byte[20*1024];//从in中批量读取字节,放到buf数组中,//从0个开始放,最多放buf.length个,//返回的是读到的字节的个数int bytes = in.read(buf,0,buf.length);int j=1;for (int i=0; i<bytes; i++){    if (buf[i]<0xf){    System.out.print("0");    }    System.out.print(Integer.toHexString(buf[i])+"  ");    if (i++%10==0){ System.out.println(); }}in.close();}



0 0
原创粉丝点击