java基础---I/O流--字节流(2)
来源:互联网 发布:杭州两年java工资 编辑:程序博客网 时间:2024/05/16 10:22
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长度的字节到流 * @@@@@ * FileInputStream具体实现了在文件上读取数据 */ 单字节读取不适合大文件读取。效率低。 批量读取。对大文件读取效率高。
package cn.lanz.test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;//字节流工具类public class IOUtils {/** * <p> * 读取指定文件内容,按照16进制输出到控制台<br/> * 每输出10个换行。 * </p> * @throws IOException * @描述: @param fileName */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){//前面补0System.out.print("0");}System.out.print(Integer.toHexString(b)+" ");if(i++%10==0){System.out.println();}}in.close();} }IOUtils.printHex("e:\\test\\HashMap.java");
public static void printHexByteArray(String fileName) throws Exception{//把文件作为字节流进行读操作 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=0; 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
- java基础---I/O流--字节流(2)
- I/O字节流
- java(I/O流 三---字节流)
- JAVA I / O操作与字节流
- java编程 I/O编程--字节流
- Java I/O 字节流 文件复制
- Java I/O(一)字节流与字符流
- 【java基础】13.I/O:流2
- [疯狂Java]I/O:流模型(I/O流、字节/字符流、节点/处理流)
- Java基础I/O流(一)
- Java基础I/O流(二)
- java基础:I/O流
- java基础 - i/o流
- Java I/O 流 基础
- Java-Java I/O流解读之基于字节的I / O和字节流
- Java I/O流(2)——java字节流操作
- I/O流(字节流)
- I/O学习笔记(字节流)
- uva12563
- C++入门(二)C++基本知识
- 菜鸟录之错题
- jQuery控制控件文本的长度
- Android数据存储的五种方式
- java基础---I/O流--字节流(2)
- Unity客户端与后台通信
- Android 用 adb forword + Tcpdump + Wireshark 实时抓包的方法
- 链栈 链队列 share
- ListView添加HeaderView出现Cannot add header view to list -- setAdapter has already been called.
- v4l2-ctl 控制命令
- Activity的生命周期记录
- RAID及软RAID的实现,包括各级别RAID的原理及各级别RAID的实现
- Hadoop文档学习笔记