MyOD(课下作业,选做)

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();

运行结果截图


码云链接

链接

原文地址:https://www.cnblogs.com/20175226wpy/p/10786849.html