编写MyCP.java 实现相似Linux下cp XXX1 XXX2的功能


  • 题目:编写MyCP.java 实现相似Linux下cp XXX1 XXX2的功能
    • 要求:MyCP支持两个参数:
      • java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
      • java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)

  • 前置知识
    • cp命令:
      • 做用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的全部文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并不是一个已存在的目录,则会出现错误信息。
      • 参数:cp指令根据参数选择功能

  • 具体实现html

    • 产品代码:
    import java.io.*;
    
     public class MyCP {
     public static void main(String args[]) {
         String choose = args[0];
         //得到第一个参数
         String File1 = args[1];
         //得到第二个参数:文件名
         String File2 = args[2];
         //得到第三个参数:文件名
         File sourceFile = new File(File1);
         //读取的文件
         File targetFile = new File(File2);
         //写入的文件
         int ch = 0;
         String result = "";
         //转换结果
         if (choose.equals("-tx")) {
             ch = 1;
         }
         else if (choose.equals("-xt")) {
             ch = 2;
         }
         //参数判断
         else {
             System.out.println("输入参数错误!");
             System.exit(0);
         }
         //若是参数输入错误,退出程序
         try {
             FileWriter out = new FileWriter(targetFile);
             //指向目的地的输出流
             FileReader in = new FileReader(sourceFile);
             //指向源的输入流
             BufferedReader infile = new BufferedReader(in);
             BufferedWriter outfile = new BufferedWriter(out);
             //缓冲流
             String number = infile.readLine();
             if (ch == 1) {
                 int n, temp = Integer.parseInt(number);
                 for (int i = temp; i > 0; i = i / 2) {
                     if (i % 2 == 0)
                         n = 0;
                     else
                         n = 1;
                     result = n + result;
                 }
             } else if (ch == 2) {
                 result = Integer.valueOf(number, 2).toString();
             }
             outfile.write(result);
             outfile.flush();
             outfile.close();
         } catch (IOException e) {
             System.out.println("Error " + e);
         }
     }
    }

  • 运行截图
    • 参数为-tx时

      java

    • 参数为-xt时

      git


相关文章
相关标签/搜索