补交20145226蓝墨云班课 -- MyOD
蓝墨云班课 -- MyOD.java
具体描述:
编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能。
提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。
内容:
Linux下的od命令是用于输出文件的八进制、十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符。其中od -tx -tc XXX是输出文件的十六进制数和ASCII字符或反斜杠序列(如\n)。
- 读取文本中的内容(十进制),按位读取,输出十六进制时,只需将每四位组合,再将组合后的四四组合,就可得到十六进制内容,具体代码如下:
byte[] data = new byte[1024];
int k = input.read(data);
System.out.print("0000010: ");
for (int i = 0; i < k; i = i + 4) {System.out.printf(" %02x%02x%02x%02x ", data[i + 3], data[i + 2], data[i + 1], data[i]);
}
- 读取文本内容完成后,将转化位对应的ASCII字符,要注意的是若是换行符出现,需要将换行符显示出来,具体代码如下:
System.out.print("\n0000020: ");
for(int i=0;i<k;i++) {if(data[i]!=0) {System.out.printf("%c ",data[i]);if ((int) data[i] == 10) {System.out.printf(" \\");System.out.printf("n ");}}
}
整体的代码如下:
public class MyOD {public static void main(String[] args) {FileInputStream fis = null;try {fis = new FileInputStream("test2.txt");dump(fis);}catch(Exception e) {System.out.println(e);}}public static void dump(FileInputStream fis) throws IOException{try (InputStream input = fis) {byte[] data = new byte[1024];int k = input.read(data);System.out.print("0000010: ");for (int i = 0; i < k; i = i + 4) {System.out.printf(" %02x%02x%02x%02x ", data[i + 3], data[i + 2], data[i + 1], data[i]);}System.out.print("\n0000020: ");for(int i=0;i<k;i++) {if(data[i]!=0) {System.out.printf("%c ",data[i]);if ((int) data[i] == 10) {System.out.printf(" \\");System.out.printf("n ");}}}} catch (IOException e) {e.printStackTrace();}}
}
用于实验的文本test2.txt文件的内容如下:
运行结果如下:
转载于:https://www.cnblogs.com/bestixyh/p/6941107.html
补交20145226蓝墨云班课 -- MyOD相关推荐
- 补交20145226蓝墨云班课 -- MyCP
蓝墨云班课 -- MyCP.java 具体描述: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt ...
- 补交20145226蓝墨云班课 -- 正则表达式作业
蓝墨云班课 -- 正则表达式作业 具体描述: 参考老师在博客园的 Intellj IDEA 简易教程中的单元测试,以TDD的放式学习云班课中"正则表达式简易教程.pdf",在此贴出 ...
- 补交20145226蓝墨云班课 -- 后缀表达式
蓝墨云班课 -- 后缀表达式 具体描述: 后缀表达式 内容: ###基本概念 后缀表达式,也叫逆波兰式,不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考 ...
- 补交20145226蓝墨云班课 -- Arrays和String单元测试
蓝墨云班课 -- Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt ...
- linux java -cp lt; .txt_补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能...
蓝墨云班课 编写MyCP.java 要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX ...
- 20155317 2016-2017-2 蓝墨云班课考题第2周
20155317 2016-2017-2 蓝墨云班课考题第2周 三: 1.用gcc -g编译vi输入的代码 2.在main函数中设置一个行断点 3.在main函数增加一个空循环,循环次数为自己学号后4 ...
- 基于蓝墨云平台的计算机教学,基于蓝墨云班课的中职计算机“分层教学”模式探究...
崔月娇 一.教学现状概述 一方面,我校是面向全国招生,部分欠发达地区的学生由于资源配置导致计算机基础相当薄弱,而来自发达地区的学生早早地接触了计算机,部分计算机基础操作已相当熟练,学生的计算机水平参差 ...
- 蓝墨云班课计算机测试题答案,20155317 第一周蓝墨云班课考题
20155317 2016-2017-2 蓝墨云班课考题第2周 上周蓝墨云班课考题 1 ( 单选题 | 1 分) Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比. ...
- 使用springboot+vue+element-ui模仿蓝墨云班课
声明:前端大量CSS样式从原网站复制来的,蓝墨云班课也十分好用,大家可以了解下 项目地址:前端+后端+数据库 https://gitee.com/cao-qiangqiang/a04test07/tr ...
最新文章
- 程序员面试题精选100题(18)-用两个栈实现队列[数据结构]
- 非常好用的两个PHP函数 serialize()和unserialize()
- dos窗口ping命令测试实战
- c++ 连续图片显示_计算整数的和并显示结果
- cocos2d-x游戏实例(17)-纵版射击游戏(4)
- poj2594(二分图,最小路径覆盖变形)
- sublime代码片段
- 一文教你学会需求分析与管理
- JDK 11 是发布了,但收费吗?
- JAVA生成随机昵称
- SQL SERVER 2016安装Microsoft R Open和Microsoft R Server问题
- 帝国cms没有标题图片就显示默认图片
- 零零信安:攻击面管理(ASM)技术详解和实现
- FortiGate防火墙配置SSL用户分流
- Newton牛顿法(一)| 基本思想+迭代公式
- 我被炒了! 一位36岁程序员的的焦虑与困惑...
- python进阶练习之——复读机相加
- 如何写个优秀的Github项目Readme文档?经典模版拿去不谢~
- 关梅西多大的事:从尤文电话门结果,看巴萨裁判门事件走势
- openssh移植 for pycharm 远程调试 sftp
热门文章
- excel中如何将内容分成几列?speedoffice告诉你
- linux实训分析与体会,linux实训总结与体会
- Microsoft SQL Server笔记整理
- android 点击跳转到qq,Android应用跳转到手机QQ的方法
- 屏蔽iOS11 Xcode9下打印的乱七八糟的日志
- android 日历翻页动画,Android开源库合集:轻松实现Android动态,炫目:日历效果...
- 物联网云平台系统设计
- 谷歌:新人工智能(AI)算法预测人类死亡时间,意念可指挥机器人
- vim编辑器---基本使用方法03(末行模式)
- 按照ID降序排列方法