必作課下做業MyCP

20175227張雪瑩 2018-2019-2 《Java程序設計》

必作課下做業MyCP

要求

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

  • 提交測試代碼和運行結果截圖,加上學號水印,提交碼雲代碼連接。git

  • 須要提交博客和答辯app

背景知識

  • Linux系統下的CP功能
    • 功能: 複製文件或目錄
    • 說明: cp指令用於複製文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面指定的全部文件或目錄複製到此目錄中。若同時指定多個文件或目錄,而最後的目的地並不是一個已存在的目錄,則會出現錯誤信息

程序代碼

import java.io.*;

public class MyCP{
public static void main(String[] args) throws IOException {
//輸入十進制文本
String filepath = "G:/學習的zxy最美麗/java/zxyjava/lll/from.txt";
String s =dataInputStream(filepath);
//將獲得的二進制數存成文本
FileOutputStream fps = new FileOutputStream("G:/學習的zxy最美麗/java/zxyjava/lll/to.txt");
fps.write(s.getBytes());
fps.close();
}
public static String dataInputStream(String filepath) throws IOException {
File file = new File(filepath);
DataInputStream dps = new DataInputStream(new FileInputStream(file));
StringBuilder byData = new StringBuilder();
byte bt = 0;
for(int i=0;i<file.length();i++) {//返回一個字符串二進制的無符號整數
bt = dps.readByte();//按照字節讀取
String str = Integer.toBinaryString(bt);
if(str.length() == 1) {
str = "0"+str;
}
byData.append(str.toUpperCase());
}
return byData.toString();
}
}

運行示例

代碼託管

MyCP.java學習

相關文章
相關標籤/搜索