zoukankan      html  css  js  c++  java
  • 基本数据类型及String 与ByteArray的读写交互

    实现功能:

    1.将基本数据类型,如int, long, double, 及String类型数据写入到 byte[]中,

    2.从 byte[]中将数据读取到 int, long, double, 及String类型变量中

    package com.machuang.io.others;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    
    public class DataInteractiveWithByteArray {
    
        public static void main(String[] args) throws IOException {
            
            byte[] recBytes = writeTypesToBytes();
            readTypesFromBytes(recBytes);
        }
        
        public static void readTypesFromBytes(byte[] srcbytes) throws IOException {
            // 关联写出的读取的 byte[]
            DataInputStream dis = new DataInputStream(
                                        new BufferedInputStream( new ByteArrayInputStream(srcbytes) )
                                                                                                );
            // 读取操作
            double recDou = dis.readDouble();
            long recL = dis.readLong();
            String recS = dis.readUTF();
            
            dis.close();
            
            
            System.out.println("recDou:	" + recDou + "
    "
                                + "recL:	" + recL + "
    "
                                + "recS:	" + recS);
                    
        }
        
        public static byte[] writeTypesToBytes() throws IOException {
            // 要写出的数据
            double dataDou = 3.6;
            long numL = 100L;
            String dataStr = "architecture";
            
            
            
            // 关联写出的 ByteArrayOutputStream
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            DataOutputStream dos = new DataOutputStream(
                                        new BufferedOutputStream( bos )
                                                                        );
            dos.writeDouble(dataDou);
            dos.writeLong(numL);
            dos.writeUTF(dataStr);        
            dos.flush();
            
            byte[] dataBytes = bos.toByteArray();
    
            dos.close();    // 关闭流
    
            return dataBytes;
            
        }
    
    }

    运行结果:

  • 相关阅读:
    Clion 配置
    JetBrains 全套激活 Pycharm Clion 高校学生老师免费用
    VS Code 搭建 C/C++ 编译运行环境的四种方案 (待完善)
    专治编译器编辑器vscode中文乱码输出 win10 配置系统默认utf-8编码
    AlexeyAB大神版yolo 待完善
    Python 的 GUI 开发工具
    Python打包—Pyinstaller
    pip freeze 打包依赖库及setup.py
    jenkins中布置python测试
    在Ubuntu上安装Jenkins
  • 原文地址:https://www.cnblogs.com/cappuccinom/p/8823224.html
Copyright © 2011-2022 走看看