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();
运行结果截图
码云链接