• 题目:编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能

    • 要求:MyCP支持两个参数:

      • java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件
      • java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)

  • 前置知识

    • cp命令:

      • 作用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
      • 参数:cp指令根据参数选择功能

  • 具体实现

    • 产品代码:
    import java.io.*;
    
     public class MyCP {
    public static void main(String args[]) {
    String choose = args[0];
    //获得第一个参数
    String File1 = args[1];
    //获得第二个参数:文件名
    String File2 = args[2];
    //获得第三个参数:文件名
    File sourceFile = new File(File1);
    //读取的文件
    File targetFile = new File(File2);
    //写入的文件
    int ch = 0;
    String result = "";
    //转换结果
    if (choose.equals("-tx")) {
    ch = 1;
    }
    else if (choose.equals("-xt")) {
    ch = 2;
    }
    //参数判断
    else {
    System.out.println("输入参数错误!");
    System.exit(0);
    }
    //如果参数输入错误,退出程序
    try {
    FileWriter out = new FileWriter(targetFile);
    //指向目的地的输出流
    FileReader in = new FileReader(sourceFile);
    //指向源的输入流
    BufferedReader infile = new BufferedReader(in);
    BufferedWriter outfile = new BufferedWriter(out);
    //缓冲流
    String number = infile.readLine();
    if (ch == 1) {
    int n, temp = Integer.parseInt(number);
    for (int i = temp; i > 0; i = i / 2) {
    if (i % 2 == 0)
    n = 0;
    else
    n = 1;
    result = n + result;
    }
    } else if (ch == 2) {
    result = Integer.valueOf(number, 2).toString();
    }
    outfile.write(result);
    outfile.flush();
    outfile.close();
    } catch (IOException e) {
    System.out.println("Error " + e);
    }
    }

}


--- - 运行截图
- 参数为-tx时
![](https://img2018.cnblogs.com/blog/1592121/201904/1592121-20190427220104652-217300836.png)
![](https://img2018.cnblogs.com/blog/1592121/201904/1592121-20190427220110341-554248219.png) - 参数为-xt时
![](https://img2018.cnblogs.com/blog/1592121/201904/1592121-20190427220123396-349756880.png)
![](https://img2018.cnblogs.com/blog/1592121/201904/1592121-20190427220127985-766980837.png) --- - [码云托管链接](https://gitee.com/fzlzc/java2019/blob/master/src/MyCP.java)

最新文章

  1. 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图
  2. [问题2014A09] 复旦高等代数 I(14级)每周一题(第十一教学周)
  3. WPF 打印控件 无弹框打印。
  4. Java jaxp查询节点
  5. HTML5跨文档消息传递
  6. 好看的UI设计网站 www.ui.cn 和 插画网站 www.pixiv.net 千图网,界面很不错~
  7. 江中微型统计分析软件V1.0版本完成
  8. POJ3190 Stall Reservations 【贪婪】
  9. C#开发移动应用系列(4.调用系统应用,以及第三方应用(调用与被调用))
  10. 线上Java程序导致服务器CPU占用率过高的问题排除过程
  11. NYoj_20吝啬的国度
  12. Linux下的指令:find,which
  13. 【Android 应用开发】BluetoothAdapter解析
  14. final、finally、finalize区别
  15. 186. Reverse Words in a String II 翻转有空格的单词串 里面不变
  16. 等宽高的ImageButton
  17. Flutter常用组件(Widget)解析-Image
  18. web前端知识总结
  19. Linux shell命令:用 !$ 防止误操作
  20. Lodash入门介绍

热门文章

  1. jdbc连接字符串
  2. MySQL--7种join连接
  3. MYSQL GTID position
  4. 开发过程中,ps要做的事情
  5. ABP中的依赖注入思想
  6. linux环境下在springboot项目中获取项目路径(用于保存文件等)
  7. codeforces476D
  8. [LOJ3087][GXOI/GZOI2019]旅行者——堆优化dijkstra
  9. docker 镜像备份magento 2.2.3
  10. Java EE Expression Language