MYCP

要求

编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:
java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)

实验代码

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);//指向source的输入流
            BufferedReader bufferedReader = new BufferedReader(in);//指向in的缓冲输入流
            String srcNum = bufferedReader.readLine();////按行读取source中的数据
            String tarNum = "";
            if(transformMethod.equals("-tx")){
                tarNum = Integer.toBinaryString(Integer.parseInt(srcNum));
                //parseInt()方法可解析一个字符串并返回一个字符串的十进制整数形式。
                //toBinaryString()方法以二进制无符号整数形式返回一个整数参数的字符串表示形式。
            }
            else{
                tarNum = Integer.valueOf(srcNum,2).toString();
                //valueOf()方法返回一个以radix进制解析字符串对应整数,并返回解析的值。
                //返回参数对象的字符串形式。
            }
            Writer out = new FileWriter(target);//指向target的输出流。
            BufferedWriter bufferedWriter = new BufferedWriter(out);//指向out的缓冲输出流。
            bufferedWriter.write(tarNum);//向tarNum中写入数据
            bufferedReader.close();//关闭输入流
            bufferedWriter.close();//关闭输出流
        } catch (Exception e) {
            System.out.println(e);
        }


    }
}

实验结果截图

原文地址:https://www.cnblogs.com/luoleqi/p/10787235.html