• 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();
            }
        }
    
    }
  • 相关阅读:
    freeswitch录音功能
    jdk安装
    maven阿里云镜像
    idea安装
    idea新建maven项目
    tomcat安装
    idea新建maven web项目
    idea新建java项目
    webpack使用
    ACE 安装指南及示例
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4307403.html
Copyright © 2020-2023  润新知