MyCP(课下作业,必做)
作者:互联网
MyCP(课下作业,必做)
要求
编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
- java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
- java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)
设计思路
- 输入一个字符串,以空格分隔,判断是哪种转换;^_^但是我从做完的同学那里借鉴来了args[],发现就简单很多
String[] args
String[] args 可以看出来是一个数组。在命令行中比如运行 Test.class 文件,可以这样写java MyCP MyCP -tx a.txt b.bin
相当于给数组传入了一个 MyCP MyCP -tx a.txt b.bin 字符串。
十进制转二进制
public static String toBinaryString(int i)
二进制转十进制
public static Integer valueOf(String s, int radix)
从文件读取,输出到文件->选择缓冲流,可以一次把数据读取
源代码
import java.io.*;
public class MyCP {
public static void main(String[] args) {
String transformMethod = args[0];
File source = new File(args[1]);
File target = new File(args[2]);
try {
Reader in = new FileReader(source);
BufferedReader bufferedReader = new BufferedReader(in);
String srcNum = bufferedReader.readLine();
String tarNum = "";
if(transformMethod.equals("-tx")){ //十进制转二进制
tarNum = Integer.toBinaryString(Integer.parseInt(srcNum));
}
else{
tarNum = Integer.valueOf(srcNum,2).toString();
}
Writer out = new FileWriter(target);
BufferedWriter bufferedWriter = new BufferedWriter(out);
bufferedWriter.write(tarNum);
bufferedReader.close();
bufferedWriter.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
运行结果
码云链接
参考
标签:java,String,args,课下,必做,new,十进制,MyCP 来源: https://www.cnblogs.com/orii/p/10780202.html