zoukankan      html  css  js  c++  java
  • Java从零开始学三十七(JAVA IO- 二进制文件读写)

    一、简述

    二、使用步骤

    DataInputStream:

    • 引入相关的类
    • 构造数据输入流的对象(如:FileInputStream,BufferedWriter包装后读取文件等)
    • 读取二进制文件的数据
    • 关闭数据输入流

    DataOutputStream:

    • 引入相关的类
    • 构造数据输出流的对象(如:FileOputStream,BufferedWriter包装后写入文件等)
    • 写入二进制文件的数据
    • 关闭数据输入流

    三、使用

    package com.pb.data;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /*
     * DataInputStream 和DataOutputStream的使用
     */
    public class DataInputAndOutput {
    
        public static void main(String[] args) {
            /*
             * DataOutputStream写操作
             */
            try {
                //1.实例化FileOutputStream对象
                FileOutputStream fos=new FileOutputStream("d:/test/data.txt");
                //2.实例化BuffereOutputStream 对象
                BufferedOutputStream bos=new BufferedOutputStream(fos);
                //3.实例化DataOutputStream对象
                DataOutputStream dos=new DataOutputStream(bos);
                //4.使用dos来写文件
                dos.writeByte(1);
                dos.writeLong(2);
                dos.writeChar('c');
                dos.writeUTF("hello java!");
                
                //关闭流
                dos.close();
                bos.close();
                fos.close();
                System.out.println("完成文件写入");
            } catch (FileNotFoundException e) {
                
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            //因为写入的是二进制的所以看不明白
            /*
             * DataIntputStream读操作
             * 读的顺序要与写的顺序一样
             */
            System.out.println("=======开始读取文件=========");
            try {
                //1.实例化FileInputStream对象
                FileInputStream fis=new FileInputStream("d:/test/data.txt");
                //2.实例化BuffereInputStream对象
                BufferedInputStream bis=new BufferedInputStream(fis);
                //3.实例化DataInputStream对象
                DataInputStream dis=new DataInputStream(bis);
                //4.读取文件顺序要与写入顺序一致,不然读出来的是乱码
                System.out.println(    dis.readByte());
                System.out.println(    dis.readLong());
                System.out.println(dis.readChar());
                System.out.println(    dis.readUTF());
                //5.关闭流
                dis.close();
                bis.close();
                fis.close();
                System.out.println("读取文件完成!");
            
                
            
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    设计模式(5)>模板方法
    设计模式(2)>工厂方法模式
    分支限界>装载问题
    解决Oracle 11g在用EXP导出时,空表不能导出
    设计模式(7)>观察者模式
    算法>并行算法
    设计模式(15)>桥接模式
    设计模式(9)>迭代器模式
    设计模式(11)>建造者模式
    设计模式(17)>中介者模式
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4307403.html
Copyright © 2011-2022 走看看