• 题目:编写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)

编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能的更多相关文章

  1. 补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能

    蓝墨云班课 编写MyCP.java 要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX ...

  2. 《Linux下cp XXX1 XXX2的功能》的实现

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

  3. 学号20175313 《实现Linux下cp XXX1 XXX2的功能(一)》第九周

    目录 MyCP 一.题目要求 二.题目理解 三.需求分析 四.设计思路 五.伪代码分析 六.代码链接 七.代码实现过程中遇到的问题 八.运行结果截图 九.参考资料 MyCP 一.题目要求 编写MyCP ...

  4. 20175303 Mycp实现Linux下cp xxx1 xxx2的功能

    20175303 Mycp实现Linux下cp xxx1 xxx2的功能 一.题目要求 编写MyCP2.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP2支持两个参数: ja ...

  5. 学号20175313 《实现Linux下cp XXX1 XXX2的功能(二)》第九周

    目录 MyCP2 一.题目要求 二.题目理解 三.需求分析 四.设计思路 五.伪代码分析 六.代码链接 七.代码实现过程中遇到的问题 八.运行结果截图 九.心得体会 十.参考资料 MyCP2 一.题目 ...

  6. 编程实现类似Linux下cp功能

    MyCP的代码实现 一.题目要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bi ...

  7. Java java jdk在Linux下安装与环境变量的配置

    java jdk在Linux下安装与环境变量的配置 by:授客 QQ:1033553122 linux环境:CentOS-6.0-x86_64-bin-DVD1.iso [root@localhost ...

  8. windows下类似Linux下的grep命令

    今天要查看windws下代理服务器有哪些IP连接过来,但使用 netstat -na 后出现很多连接会话,不方便查看. 想到Linux下的grep非常方便,于是网络上搜寻,还是有类似的命令findst ...

  9. Java学习笔记——Linux下安装配置tomcat

    朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 首先需要安装配置JDK,这里简单回顾下.Linux下用root身份在/opt/文件夹下创建jvm文件夹,然后使用ta ...

随机推荐

  1. keras04 - 阿狗阿猫识别 面向对象编程

    参考:https://www.bilibili.com/video/av32756783

  2. JQuery滚动分页查询功能

    //获取滚动条的高度 function getScrollTop() { var scrollTop = 0; if (document.documentElement && docu ...

  3. Net包管理NuGet(4)打包nuget包的进阶用法

    nuget包不止可以放进dll,还可以引用其他包,创建项目文件及替换配置文件 引用的时候同时引用依赖项假设引用某个dll需要依赖其他的dll如Zeta.Core.dll需要引用ZETA.Seriali ...

  4. ubuntu apt-get install 时报错curl : Depends: libcurl4 (= 7.58.0-2ubuntu3.6) but 7.61.0-1ubuntu2 is to be installed或者 vim : Depends: vim-common (= 2:8.0.1453-1ubuntu1) but 2:8.0.1766-1ubuntu1 is to be ins

    ubuntu apt-get install 时报错:Depends: ***(=某版本)but***(另一版本)is to be installed 这时候就把这个***给purge后再重新装就好了 ...

  5. 解决Windows10中Virtualbox安装虚拟机没有64位选项

    今天想在Windows 10系统安装完Virtualbox虚拟机,然后打算装一个CENTOS系统,但是选择安装系统的时候竟然没有64位操作系统的选项,经过一阵Google,终于解决了,在这里盘点一下出 ...

  6. Salesforce Bulk API 基于.Net平台下的实施

    在最近的salesforce实施项目中应用到Bulk API来做数据接口.顺便把实际应用的例子写下来.希望对做salesforce接口的朋友有借鉴作用. 一 参考网络牛人写好的Demo. 下载地址:h ...

  7. DS博客作业02--线性表

    1.本周学习总结 1.1思维导图 1.2.谈谈你对线性表的认识及学习体会 这阶段学习学的是线性表,学习线性表的两种存储顺序-----链表和顺序表,体会了两者存储结构之间的区别,通过对顺序表,单链表,双 ...

  8. django下的xadmin相关设置

    后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...

  9. Python IDLE 代码高亮主题

    Python IDLE 代码高亮主题 使用方法: 打开C盘我的 C:\Documents and Settings\你的用户名.idlerc文件夹 里面会有一个 config-highlight.cf ...

  10. Python 实现 Html 转 Markdown(支持 MathJax 数学公式)

    因为需要转 html 到 markdown,找了个 python 的库,该库主要是利用正则表达式实现将 Html 转为 Markdown. 数学公式需要自己修改代码来处理. 我 fork 的项目地址: ...