zoukankan      html  css  js  c++  java
  • MyOD

    一、实现目的:

    编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能

    二、功能简介

    1.Linux下的od功能是将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符。od命令系统默认的显示方式是八进制,名称源于Octal Dump。

    -t、--format=TYPE:指定输出格式,格式包括a、c、d、f、o、u和x,各含义如下:

    • a:具名字符;
    • c:ASCII字符或者反斜杠;
    • d[SIZE]:十进制,正负数都包含,SIZE字节组成一个十进制整数;
    • f[SIZE]:浮点,SIZE字节组成一个浮点数;
    • o[SIZE]:八进制,SIZE字节组成一个八进制数;
    • u[SIZE]:无符号十进制,只包含正数,SIZE字节组成一个无符号十进制整数;
    • x[SIZE]:十六进制,SIZE字节为单位以十六进制输出,即输出时一列包含SIZE字节。

    2.实现目的中的 -tx -tc 是将指定文件以十六进制,和ASCII字符或者反斜杠形式输出。

    三、代码

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    /**
     * @author lihaoran
     */
    @SuppressWarnings("ALL")
    public class MyOD {
        public static String format(byte []bt){
            int line=0 ;
            StringBuilder buf=new StringBuilder() ;
            for(byte d:bt){
                if(line%16==0) {
                    buf.append(String.format("%05x: ", line)) ;
                }
                buf.append(String.format("%02x  ", d)) ;
                line++ ;
                if(line%16==0) {
                    buf.append("
    ");
                }
            }
            buf.append("
    ") ;
            return buf.toString();
        }
        public static byte[] readFile(String file) throws IOException{
            InputStream is=new FileInputStream(file) ;
            int length=is.available() ;
            byte[] bt = new byte[length];
            is.read(bt) ;
            return bt;
        }
        public static  void main(String[]agrs) throws IOException{
            byte []bt=MyOD.readFile("D:/Java/OD.txt");
            String hexData=MyOD.format(bt) ;
            System.out.println(hexData);
        }
    }
    

    四、实验截图

    五、码云代码

    https://gitee.com/lhr0321/20175318_JAVA/blob/master/javaExperiment2/src/MyOD.java

  • 相关阅读:
    JSON
    vue中跳转页面逻辑
    生命周期的几个阶段
    vue学习大纲
    Vue留言 checked框案列
    Vue内容
    linux -- iptables
    linux --- DNS
    linux --- samba
    linux --- vsftp
  • 原文地址:https://www.cnblogs.com/L1079991001/p/10786770.html
Copyright © 2011-2022 走看看