MyCP(課下做業,必作)

做業要求

  • 編寫MyCP.java 實現相似Linux下cp XXX1 XXX2的功能,要求MyCP支持兩個參數:
    • java MyCP -tx XXX1.txt XXX2.bin 用來把文本文件(內容爲十進制數字)轉化爲二進制文件
    • java MyCP -xt XXX1.bin XXX2.txt 用來二進制文件把轉化爲文本文件(內容爲十進制數字)java

      思路

  • 從指定文件讀取字符串型變量,根據命令行輸入的「-tx」或「-xt」判斷,將十進制轉爲二進制或將二進制轉爲十進制,再輸出。git

    產品代碼

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

測試結果

  • java MyCP -tx XXX1.txt XXX2.bin
    ide

  • java MyCP -xt XXX1.bin XXX2.txt
    測試

遇到的問題

1.問題:當在idea中運行的時候,出現了這個問題。

解決方案:詢問同窗發現也有這種狀況,具體緣由是什麼不清楚,可是在虛擬機中能夠運行。
2.問題:第一次在虛擬機中運行出現了沒法加載主類。
解決方案:最開始把編譯出來的文件和txt與bin分開了,幫他們放一塊兒時又能夠了。idea

代碼託管

相關文章
相關標籤/搜索