MyCP

要求

编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

代码

import java.io.*;
public class MyCP{
  public static void main(String[] args) {
    String op =args[0];
    String File1 = args[1];
    String File2 = args[2];
    File fRead = new File(File1);
    File fWrite = new File(File2);
    try{
      Writer out = new FileWriter(fWrite);
      BufferedWriter bufferWrite = new BufferedWriter(out);
      Reader in = new FileReader(fRead);
      BufferedReader bufferRead = new BufferedReader(in);
      String str = null;
      String output = "";
      while((str=bufferRead.readLine())!=null){
        if(op.equals("-tx")){
          int number = Integer.valueOf(str);
          output = Integer.toBinaryString(number);
          if(output.length()==1){
            output="000"+output;
          }
          else if(output.length()==2)
          {
            output="00"+output;
          }
          else if(output.length()==3)
          {
            output="0"+output;
          }
          bufferWrite.write(output);
          bufferWrite.newLine();
        }
        else if(op.equals("-xt")){
          int number = Integer.parseInt(str,2);
          output = String.valueOf(number);
          bufferWrite.write(output);
          bufferWrite.newLine();
        }
      }
      bufferWrite.close();
      out.close();
      bufferRead.close();
      in.close();
    }
    catch(IOException e)
    {
      System.out.println(e);
    }
  }
}

测试结果

posted on 2019-04-28 22:19  20175307GSC  阅读(104)  评论(0编辑  收藏  举报

导航