要求

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

提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

代码

package cc.openhome;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * Created by Calpernia on 2017/5/31.
 */
public class MyOD {
    public static String format(byte[] by) {
        int line=0;
        StringBuilder buf=new StringBuilder();
        for(byte b:by){
            if(line%16 == 0){
                buf.append(String.format("%05x: ",line));
            }
            buf.append(String.format("%02x  ",b));
            line++;
            if(line%16 == 0){
                buf.append("\n");
            }
        }
        buf.append("\n");
        return buf.toString();
    }

    public static byte[] readFile(String file)throws IOException{
        InputStream in=new FileInputStream(file);
        int length=in.available();
        byte by[]=new byte[length];
        in.read(by);
        return by;
    }
    public static void main(String[] args) throws IOException{
        byte[] by=MyOD.readFile("C:/abc");
        String hexData=MyOD.format(by);
        System.out.println(hexData);
    }
}

运行截图

# 20155224 课堂实践 MyOD

遇到的问题

问题1:编译运行时显示系统找不到指定的文件
# 20155224 课堂实践 MyOD

解决1:经老师检查,发现是因为我的电脑默认不显示文件类型,所以在代码中不必打出文件类型。

C:\\Users\\Calpernia\\Desktop\\abc.txt
改为:
C:/abc

相关文章: