• MyCP(课下作业,必做)


    MyCP(课下作业,必做)

    要求

    编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:

    • 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 字符串。

    • 十进制转二进制 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 作用

  • 相关阅读:
    linux下apache(httpd)安装部署
    基于redis分布式缓存实现(新浪微博案例)
    python--字典
    django(四)
    django(三)
    django(二)
    django(一)
    053(八十)
    053(七十九)
    053(七十八)
  • 原文地址:https://www.cnblogs.com/orii/p/10780202.html
Copyright © 2020-2023  润新知