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();
            }
        }
    
    }
  • 相关阅读:
    1.SQL
    3.Dynamic Layout 动态布局。在槽中处理布局
    2.Border Layout 自定义一个Layout来完成布局。
    2.QWidget类
    eclipse内存设置,tomcat内存设置,查看内存大小
    java面试笔记
    java面试总结-(hibernate ibatis struts2 spring)
    jQuery属性,方法操作
    spring scope
    IOC原理解释
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4307403.html
Copyright © 2011-2022 走看看