zoukankan      html  css  js  c++  java
  • Java连载101-DataOutputStream、PrintStream方法详解

    一、java.io.DataOutputStream;数据字节输出流

    1.可以将内存中的“int i = 2;"写入到硬盘文件里面,写进去的不是字符串,写进去的是二进制数据,可以带有类型。

    package com.bjpowernode.java_learning;
    
    import java.io.*;
    
    ​
    
    public class D101_1_DataOutputStream {
    
      public static void main(String[] args) throws IOException{
    
        //创建数据字节输出流
    
        String address = "C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt";
    
        DataOutputStream dos = new DataOutputStream(new FileOutputStream(address));
    
        //准备数据
    
        byte b = 10;
    
        short s = 11;
    
        int i = 12;
    
        long l = 13;
    
        float f = 3.2f;
    
        double d = 2.3;
    
        boolean flag = false;
    
        char c = 'a';
    
        //写入
    
        dos.writeByte(b);
    
        dos.writeShort(s);
    
        dos.writeInt(i);
    
        dos.writeLong(l);
    
        dos.writeFloat(f);
    
        dos.writeDouble(d);
    
        dos.writeBoolean(flag);
    
        dos.writeChar(c);
    
        //刷新
    
        dos.flush();
    
        //写进去的内容是二进制文件,我们使用文本打开都是一堆乱码
    
       
    
        //关闭
    
        dos.close();
    
       
    
        //创建输入流
    
        DataInputStream dis = new DataInputStream(new FileInputStream(address));
    
        ////注意:要使用该流读取数据,必须提前知道该文件中的数据存储格式,顺序。
    
        byte b1 = dis.readByte();
    
        short s1 = dis.readShort();
    
        int i1 = dis.readInt();
    
        long l1 = dis.readLong();
    
        float f1 = dis.readFloat();
    
        double d1 = dis.readDouble();
    
        boolean flag1 = dis.readBoolean();
    
        char c1 = dis.readChar();
    
       
    
       
    
        System.out.println(b1);
    
        System.out.println(s1);
    
        System.out.println(i1);
    
        System.out.println(l1);
    
        System.out.println(f1);
    
        System.out.println(d1);
    
        System.out.println(flag1);
    
        System.out.println(c1);
    
        //用途:有点像加密文件,多见于电信行业,我们传输数据,然后告知对方我们的格式以及数据顺序,对方才可以解析出来
    
        //关闭
    
        dis.close();
    
       
    
       
    
      }
    
    ​
    
    }
    
    ​

    二、PrintStreamPrintWriter

    1.java.io.PrintStream;标准的输出流,默认打印到控制台,以字节的方式。

     
    
    package com.bjpowernode.java_learning;
    
    import java.io.*;
    
    import java.util.Date;
    
    import java.text.SimpleDateFormat;
    
    ​
    
    public class D101_2_PrintStream {
    
      public static void main(String[] args) throws Exception {
    
        System.out.println("HelloWorld");
    
       
    
        PrintStream ps = System.out;
    
        ps.println("JAVA");
    
       
    
        String address = "C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt";
    
       
    
        //setOut方法可以改变输出方向,PrintStream(FileOutputStream f)可以接受字节输出流
    
       
    
        System.setOut(new PrintStream(new FileOutputStream(address)));
    
        //再次输出
    
        System.out.print("HAHA");
    
        //通常使用上述方法来记录日志
    
       
    
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
    
        System.out.println(sdf.format(new Date()));
    
        m1();
    
        System.out.println(sdf.format(new Date()));
    
       
    
       
    
      }
    
      public static void m1() {
    
        System.out.println("m1 method execute");
    
      }
    
    ​
    
    }

    三、源码:

    D101_1_DataOutputStream.java

    D101_2_PrintStream.java

    https://github.com/ruigege66/Java/blob/master/D101_1_DataOutputStream.java

    https://github.com/ruigege66/Java/blob/master/D101_2_PrintStream.java

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    GRASS——一个开源的遥感软件
    RSD和GEE的区别
    MIKE 11 GIS是什么?
    使用JavaScript Function.prototype进行代码重构的一些例子
    如何使用Chrome扩展应用postman发送SAP UI5 batch操作
    如何操作SAP UI5应用Footer区域工具栏按钮的背景颜色
    使用VisualVM进行Java应用的性能测量
    如何找到SAP UI5控件ID生成的准确时间点和代码位置
    SAP UI5应用里类型为Edm.DateTime的日期控件设计原理
    SAP UI5应用如果遇到数据绑定问题时,应该如何自己定位问题?
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12549617.html
Copyright © 2011-2022 走看看