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);
}
}
运行截图
遇到的问题
问题1:编译运行时显示系统找不到指定的文件
解决1:经老师检查,发现是因为我的电脑默认不显示文件类型,所以在代码中不必打出文件类型。
C:\\Users\\Calpernia\\Desktop\\abc.txt
改为:
C:/abc