课堂代码补交——用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个字符一行输出。
代码链接
运行截图: