zoukankan      html  css  js  c++  java
  • MyOD

    一、实现目的:

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

    二、功能简介

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

    2.
    -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字节。

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

    三、代码:

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    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("C:/javaexp/xx.txt");
            String hexData=MyOD.format(bt) ;//将文件中的说由10进制转2进制
            System.out.println(hexData);
        }
    }
    

    四、实验截图

    五、码云代码:

    https://gitee.com/BESTI-IS-JAVA-2018/20165213zqh/blob/master/20165213exp1/src/MyOD.java

  • 相关阅读:
    poj 3070(矩阵快速幂入门)
    算阶乘质因数的个数(CodeForces 546D)
    hdu1237(表达式求值)
    分治法—hdu1007
    hdu-2089+初学数位dp!
    hdu-2089+初学数位dp
    线段树入门(更新单个节点)
    CodeForces 1131B(思维题)
    CodeForces 1040B(思维题)
    文献的查找下载与阅读
  • 原文地址:https://www.cnblogs.com/xiaozhuzqh/p/9159175.html
Copyright © 2011-2022 走看看