# 20155224 课堂实践 MyOD

时间:2023-03-09 03:50:03
# 20155224 课堂实践 MyOD

20155224 课堂实践 MyOD

要求

编写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