編寫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


相關文章
相關標籤/搜索