课堂代码练习补交

课堂代码补交——用Java实现Linux的od命令

实验题目:

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

本次实验要求用Java代码编写程序,可以读取文件并将文件内字符转换为其对应的ASCII码值,然后输出。
目标文件内只有test20155223test这一串字符,而且本程序不能够使用命令行来指定文件运行。不过,一些基础部分还是有的。

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 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();
    }

这段代码就是将比特转换成ASCII码值,然后按照16个字符一行输出。
代码链接
运行截图:

原文地址:https://www.cnblogs.com/battlefieldheros/p/6924338.html