MyOD(课下作业,选做)
代码要求
- 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
- java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
- java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)
准备阶段
- 借助之前的学习复习熟悉文件语法的运用
- 二进制与十进制间的相互转化,借由网络资源了解到
Integer.parseInt
语句不仅可以实现字符到数的转化,还可以借由此语句进行其他进制到十进制的直接转化赋值
代码实现
- 创建文件输入输出流以及部分所需的变量
String ch = args[0];
String s1 = args[1];
String s2 = args[2];
File fromfile = new File(s1);
File tofile = new File(s2);
String result = "";
FileReader in = new FileReader(fromfile);
BufferedReader infile = new BufferedReader(in);
FileWriter out = new FileWriter(tofile);
BufferedWriter outfile = new BufferedWriter(out);
String number = infile.readLine();
- 实现十进制到二进制的转化
if(ch.equals("-tx")) {
int n;
int number1 = Integer.parseInt(number);
for(int i=number1;i>0;i=i/2) {
if(i%2==0)
n = 0;
else
n = 1;
result = n + result;
}
}
- 实现二进制到十进制间的转化
else if(ch.equals("-xt")) {
int number1 = Integer.parseInt(number,2);
result = String.valueOf(number1);
}
- 写入文件
outfile.write(result);
outfile.flush();
outfile.close();
out.close();
运行结果截图