20175334 MyCP(课下作业,必做)
题目要求
- 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
- java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
- java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)
CP命令了解
- 功能: 复制文件或目录
- 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
- 参考资料
程序代码
import java.io.*;public class MyCP { public static void main(String []args) throws IOException { FileInputStream in = new FileInputStream(args[1]); FileOutputStream out = new FileOutputStream(args[2]); String str = new String(args[0]); byte[] data = new byte[1024]; int length; if(str.equals("-tx")) { while((length = in.read(data)) != -1) { int n = data.hashCode(); String binaryNum = Integer.toBinaryString(n); data = binaryNum.getBytes(); out.write(data); } } else if(str.equals("-xt")) { while((length = in.read(data)) != -1) { int n = data.hashCode(); String binaryNum = Integer.toString(n); data = binaryNum.getBytes(); out.write(data); } } }}
结果截图