标签:运行结果截图 进制 equals 注意 参考 否则 文件内容 dwr 要求
编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
题目要求通过命令行输入的方式输入要读入的文件和要写入的文件并能够完成十进制和二进制相互转化的功能,在完成题目前我思考了如下几个问题:
Integer.parseInt
方法实现这一目的File f = new File("hello.txt")
但本题要求是从命令行输入文件的名字,并且可以进行不同功能的进制转换,因此在程序中就不可能规定具体的文件名,那么应该如何确定文件名呢?wangzihong.txt
和wangzihong.bin
文件,通过之前的学习我们已经知道主类中main方法的参数args[]是可以储存从命令行中传入的参数的,因此我们可以把从命令行输入的文件名当做是字符类型的变量,在建立文件时以字符串的名字建立,这样就可以控制从命令行传入文件的名字了书上第十章中介绍了很多读取文件的流,内容比较多,涉及到的方法比较广泛但用起来的同时也比较容易懵,开始时并不知道具体应该使用哪种方法,在思考十进制和二进制转换时有想过用字符数组的方法,因此选择了字符数组输入输出流,同时选择了缓冲流因为缓冲流的源和目的地分别是字符输入和输出流
这个问题相对就比较简单了,因为控制命令是在命令行输入的,并且只有-tx
和-xt
两种,因此只需要在程序中调用equals
方法进行比较即可
命令行读入三个参数:第一个ch代表转化的格式,第二个s1代表要读取的源文件,第三个s2代表要写入的目标文件
参数为“-tx”从txt文件中读取十进制数,转化为二进制后写入bin文件中
参数为“-xt”从bin文件中读取二进制数,转化为十进制后写入txt文件中
import java.io.*;
public class MyCP {???
public static void main(String[] args) {???????
String ch = args[0];???????
String s1 = args[1];???????
String s2 = args[2];???????
File fromfile = new File(s1);???????
File tofile = new File(s2);???????
String result = "";???????
try {???????????
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();???????
}???????
catch(IOException e) {???????????
System.out.println("Error"+e);???????
}???
}
}
标签:运行结果截图 进制 equals 注意 参考 否则 文件内容 dwr 要求
原文地址:https://www.cnblogs.com/wangzihong0213/p/10776364.html