一、题目要求
编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
- java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
- java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)
二、实验代码
二、实验步骤
1.编写,运行MyCP程序。
2.找到MyCP.class的所在位置。
3.通过我的电脑进入该位置,并创建两个文本文档,分别命名为gxy.txt和gxy1.txt。
4.进入gxy.txt,输入自己的学号“20175202”。
5.通过命令行输入java MyCP -tx gxy.txt gxy1.txt命令,将十进制数20175202转换为二进制数并保存在gxy1.txt中。
6.打开gxy1.txt文件,即可看到所得二进制数。
7.在gxy1.txt中从新输入一个二进制数如“11111111”。
8.在命令行中输入java MyCP -xt gxy1.txt gxy.txt命令,将二进制数转换为十进制数,并保存在gxy.txt中。
9.打开gxy.txt文件,即可看到所得的十进制数。
四、实验过程中遇到的问题
1.将两种功能写在一个程序中,怎么控制实现转二进制功能还是转十进制功能。
解决:因为控制命令是在命令行中输入的,并且只有-tx
和-xt
两种,因此只需要在程序中调用equals
方法进行比较即可。
2.在命令行输入正确的命令后,出现提示找不到主类MyCP。
解决:原因是只进入了含有MyCP.class文件的大目录,使用cd命令进入子目录后再输入命令,即可实现功能。
3.在二进制转十进制的过程中,在gxy1.txt文件夹中输入了二进制数11111111,然而在gxy.txt文件中没有出现正确十进制数字,而是一个奇怪的二进制数字。
解决:原因是输错了命令误将-xt命令数成了-tx命令,改正后,实现了功能。