20155204第15周课堂实践总结

20155204第15周课堂实践总结

一、实践步骤

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

1071529-20170601010052258-1880457688.png

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

成果截图
1071529-20170601010104024-311652258.png

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

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

# 码云连接

转载于:https://www.cnblogs.com/20155204wh/p/6926757.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值