蓝墨云班课 -- MyCP.java

具体描述:

编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:

  • java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
  • java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)

    提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

内容:

  1. 将文本文件转化为二进制文件,其中文本文件中的内容为十进制数字,步骤为:首先FileReader的read()方法获取对应的十进制数字,然后调用Integer.toBinaryString(十进制字符)来将十进制转为二进制,最后使用FileWriter的write()方法来保存得到的二进制。
public static void dumptx(FileReader reader, FileWriter writer) {
try (FileReader input = reader; FileWriter output = writer) {
char[] data = new char[1];
while((input.read(data)) != -1) {
int da=(int)data[0];
String str1="";
String str=Integer.toBinaryString(da);
for(int i=0;i<8;i++){
if(i<(8-str.length()))str1+='0';
}
str1+=str;
output.write(str1, 0, 8);
output.write(" ");
}
}catch (IOException e) {
e.printStackTrace();
}
}
  1. 将二进制文件转化为文本文件,其中文本文件中的内容为十进制数字,步骤为:首先FileReader的read()方法获取对应的8位二进制数字,然后调用Integer.valueOf(8位二进制字符串,2)方法将二进制转为十进制,最后使用FileWriter的write()方法来保存得到的十进制内容。
public static void dumpxt(FileReader reader, FileWriter writer) {
try (FileReader input = reader; FileWriter output = writer) {
char[] data = new char[8];
char []ch = new char[1]; while((input.read(data)) != -1) {
String str="";
input.read();
for(int i=0;i<8;i++){
str+=data[i];
}
int ten=Integer.valueOf(str,2);
ch[0]=(char)ten;
output.write(ch, 0, 1);
output.write(" ");
}
}catch (IOException e) {
e.printStackTrace();
} }
  1. 使用主函数根据输入的参数来调用不同的方法,若是输入“java MyCP -tx XXX1.txt XXX2.bin”调用dumptx方法把文本文件(内容为十进制数字)转化为二进制文件;若是输入“java MyCP -xt XXX1.bin XXX2.txt”调用dumpxt方法把二进制文件把转化为文本文件(内容为十进制数字)。
public static void main(String[] args) throws IOException {
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
String[]Nstr=str.split(" ");
if(Nstr[2].equals("-tx")){
FileReader reader = new FileReader(Nstr[3]);
FileWriter writer = new FileWriter(Nstr[4]);
dumptx(reader, writer);
} if(Nstr[2].equals("-xt")){
FileReader reader = new FileReader(Nstr[3]);
FileWriter writer = new FileWriter(Nstr[4]);
dumpxt(reader, writer);
}
}

运行结果如下所示:

原本的测试文本文件(内容为十进制数字):

运行文本文件转为二进制文件的代码行,结果为:

运行二进制文件转为文本文件的代码行,结果为:

补交20145226蓝墨云班课 -- MyCP的更多相关文章

  1. 补交20145226蓝墨云班课 -- MyOD

    蓝墨云班课 -- MyOD.java 具体描述: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能. 提交测试代码和运行结果截图,加上学号水印,提 ...

  2. 补交20145226蓝墨云班课 -- Arrays和String单元测试

    蓝墨云班课 -- Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt ...

  3. 补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能

    蓝墨云班课 编写MyCP.java 要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX ...

  4. 20162330 第三周 蓝墨云班课 泛型类-Bag 练习

    目录 题目及要求 思路分析 遇到的问题和解决过程 代码实现及托管链接 感想 参考资料 题目及要求 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息: 参见Bag的UML图, ...

  5. 疫情下的在线上课方案:QQ直播+蓝墨云班课

    目录 疫情下的在线上课方案:QQ群视频(腾讯课堂)+蓝墨云班课 使用QQ进行直播 材料 QQ直播步骤 其他问题 使用蓝墨云班课加强学习效果 教材问题 我的直播-小学生硬笔书法基础 我的直播 - C程序 ...

  6. MyCP.java蓝墨云班课

    题目要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容 ...

  7. 20162330 第十二周 蓝墨云班课 hash

    题目要求 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,65,(你的8位学号 ...

  8. 20172310 蓝墨云ASL测试 2018-1938872

    20172310 蓝墨云ASL测试 2018-1938872 题目: 已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少? 解答:( ...

  9. 20165223 week3蓝墨云测试总结

    1. 表达式0xaa | 0x55的值为 答案: 解析: 0xaa用二进制表示为10101010,0x55用二进制表示为01010101,按位或后为11111111,十进制表示为255,十六进制表示为 ...

随机推荐

  1. log4j.properties 配置示例

    需要的jar如下: !-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId> ...

  2. shell_processing

    1.文本处理_2:grep,sed,awk 2.regular_expression 3.Test   一.文本处理_2 1.grep --Linux处理正则表达式的主要程序.正则表达式是一种符号表示 ...

  3. HBase 负载均衡

    HBase 可以根据当前集群的负载以region为单位进行rebalance.在HMaster中,后台会起一个线程定期检查是否需要进行rebalance,线程叫做BalancerChore.线程每隔  ...

  4. Vue2学习笔记:class和style

    1.用法 <!DOCTYPE html> <html> <head> <title></title> <meta charset=&q ...

  5. 理解 Linux 的平均负载和性能监控

      在本文中,我们将解释 Linux 系统中最关键的管理任务之一——关于系统 / CPU 的负载load和平均负载Load average的性能监控. 首先来看所有的类 UNIX 系统中两个重要的表述 ...

  6. linuxGame:文明5汉化

    此包来源苹果戏台的steam平台 参考网页: 1.https://tieba.baidu.com/p/4529797745 2.http://www.civclub.net/bbs/forum.php ...

  7. 导出AD用户所属组,查询AD用户(aduser)

    $ous="admin","bladmin","af","dd"for($i=0;$i -lt 2;$i++) { $o ...

  8. 数据库初始化以及制作为Windows服务

    前面的博客里我讲述了一些安装过程中会出现的问题以及解决方法,下面我讲一下基本的操作. 1.初始化:(我们要现在数据库里面创建一个data文件,这里是存放数据的地方,所以要是重要的数据已经记得看清楚了删 ...

  9. if a in range(len(lst)): print(a,lst[a]) #获取索引和对应元素, 背下来~~

    经典的"获取元素的索引和元素", 背下来! if a in range(len(lst)): print(a, lst[a])

  10. 团队作业1——团队展示&教辅宝

    1.队名:PHILOSOPHER 2.队员学号: [组长]金盛昌(201421122043).刘文钊(20142112255).陈笑林(201421122042). 张俊逸(201421122044) ...