MyCP(課下做業,必作)

MyCP(課下做業,必作)

要求

編寫MyCP.java 實現相似Linux下cp XXX1 XXX2的功能,要求MyCP支持兩個參數:java

  • java MyCP -tx XXX1.txt XXX2.bin 用來把文本文件(內容爲十進制數字)轉化爲二進制文件
  • java MyCP -xt XXX1.bin XXX2.txt 用來二進制文件把轉化爲文本文件(內容爲十進制數字)

設計思路

  • 輸入一個字符串,以空格分隔,判斷是哪一種轉換;^_^可是我從作完的同窗那裏借鑑來了args[],發現就簡單不少

String[] args 能夠看出來是一個數組。在命令行中好比運行 Test.class 文件
java MyCP MyCP -tx a.txt b.bin至關於給數組傳入了一個 MyCP MyCP -tx a.txt b.bin 字符串。git

  • 十進制轉二進制 public static String toBinaryString(int i)
    數組

  • 二進制轉十進制public static Integer valueOf(String s, int radix)
    命令行

  • 從文件讀取,輸出到文件->選擇緩衝流,能夠一次把數據讀取設計

源代碼

import java.io.*;
public class MyCP {
    public static void main(String[] args) {
        String transformMethod = args[0];
        File source = new File(args[1]);
        File target = new File(args[2]);
        try {
            Reader in = new FileReader(source);
            BufferedReader bufferedReader = new BufferedReader(in);
            String srcNum = bufferedReader.readLine();
            String tarNum = "";
            if(transformMethod.equals("-tx")){             //十進制轉二進制
                tarNum = Integer.toBinaryString(Integer.parseInt(srcNum));
            }
            else{
                tarNum = Integer.valueOf(srcNum,2).toString();
            }
            Writer out = new FileWriter(target);
            BufferedWriter bufferedWriter = new BufferedWriter(out);
            bufferedWriter.write(tarNum);
            bufferedReader.close();
            bufferedWriter.close();
        } catch (Exception e) {
            System.out.println(e);
        }


    }
}

運行結果

碼雲連接

參考

Java String[] args 做用code

相關文章
相關標籤/搜索