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指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
- 参考资料Linux 的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);
}
}
}
}
结果截图