您的位置:首页 > 其它

20155323课堂实践20170531

2017-06-01 23:01 239 查看

20155323课堂实践20170531

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

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

实验代码:

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

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:\\Users\\weiliang\\abc.txt");
String hexData=MyOD.format(by);
System.out.println(hexData);
}
}

运行截图:



遇到的问题



不清楚Linux下
od -tx -tc XXX
命令。百度后我知道了od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符。od命令系统默认的显示方式是八进制,名称源于Octal Dump。例如
od -tx testfile
是以十六进制输出,默认以四字节为一组(一列)显示。
od -tx1 testfile
是以十六进制输出,每列输出一字节。
od -tc test
是用字符来显示文件test。




首先要先定义一个主类,然后定义一个字符流,使其以十六进制输出,每逢两位数字输出一次,不足前面补0,每输出16次换行。然后构造一个
readFile()
方法,并且定义该方法是从文件中读取字符。最后定义读取路径,设置好读取的文件,最后用主类输出。

码云链接

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: