一、实践步骤

  • 步骤一:首先研究了OD命令的用法:通过学习这篇博客Linux od命令详细介绍及用法实例主要是-tx-tc,在Linux下实践了一下命令(特别注意-tx[SIZE]是以SIZE字节输出。)

20155204第15周课堂实践总结

  • 步骤二:重新学习了第十章,创建输入输出流,读取文件。
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;
    }
  • 步骤三:接着就是实现16个输出一行,先输出原字符,然后换行输出其ASCII码值,另外还有行号。
public static String format(byte []bt){
        int line=0 ;
        int par=0;;
        StringBuilder buf=new StringBuilder() ;
        for(byte d:bt){
            if(line%16==0)
                buf.append(String.format("%07x: ", line)) ;
            if(par == 0) System.out.println(bt[line]+' ');
            else buf.append(String.format("%02x  ", d)) ;
            line++ ;
            par=(line/16)%2;
            if(line%16==0)
                buf.append("\n");
        }
        buf.append("\n") ;
        return buf.toString();
    }

成果截图
20155204第15周课堂实践总结

二、实验中遇到的问题和解决

  • 问题1:每行前面的七位数字是什么意思?
  • 解决方法:观察得出,是行号,八进制,在程序中通过buf.append(String.format("%07x: ", line)) ;实现。
  • 问题2:以第十章IO示例程序无法正确读取文件
  • 解决方法:因为IO是以byte读取文件,而这里需要用字符来读取文件,所以还是后面的Fileinputstrea更适用。

# 码云连接

相关文章:

  • 2021-07-08
  • 2022-02-13
  • 2021-08-02
  • 2021-09-28
  • 2021-06-12
  • 2021-12-19
  • 2021-06-05
  • 2022-02-10
猜你喜欢
  • 2021-10-23
  • 2022-12-23
  • 2022-02-26
  • 2021-12-01
  • 2021-07-16
  • 2021-08-12
  • 2021-11-11
相关资源
相似解决方案