20155204第15周课堂实践总结

20155204第15周课堂实践总结

一、实践步骤

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

  • 步骤二:重新学习了第十章,创建输入输出流,读取文件。
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();
    }

成果截图

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

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

# 码云连接

posted @ 2017-06-01 01:01  20155204王昊  阅读(146)  评论(0编辑  收藏  举报