MyCP(课下作业)

本文介绍了一种使用Java实现的文件格式转换工具MyCP,它能够将文本文件内容(十进制数字)转换为二进制文件,反之亦然。通过命令行参数,如-javaMyCP-tx和-javaMyCP-xt,用户可以轻松地在两种文件类型之间进行转换。文章详细描述了实现思路,包括使用输入输出流和缓冲流进行文件处理的方法。

一、作业要求

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

二、作业思路(步骤)

1.题目理解

  • 我刚开始认为从二进制文件读取数据的方式和文本文件不同,想的过于复杂,就一直没有思路,最后发现直接使用输入输出流指向源文件和目标文件在用缓冲流处理就能完成文件的输入输出。
  • 这样,题目就简化成了从指定文件读取字符串型变量,根据命令行输入的“-tx”或“-xt”判断,将十进制转为二进制或将二进制转为十进制,再输出。

2.伪代码

将命令行输入转化为三部分的字符串
用输入流指向源文件
用输出流指向目标文件
用缓冲流处理
判断文本文件或二进制文件
完成进制转换
输出

3.产品代码

1591805-20190428160326616-1599862228.png

三、运行结果

1.java MyCP -tx XXX1.txt XXX2.bin

1591805-20190428160137005-409642288.png

2.java MyCP -xt XXX1.bin XXX2.txt

1591805-20190428160249475-1303581645.png

四、作业中的问题及解决

问题

  • 在Windows的IDEA命令行运行MyCP会出现以下错误

1591805-20190428160732698-1762601589.png

解决

  • 上网查询后,好像是JDK的配置少了东西,于是又在虚拟机上进行尝试,成功了,目前Windows上的解决方法还在摸索中

1591805-20190428160754197-128701704.png

五、码云链接

六、作业感想

  • 通过本次作业,我对命令行输入及文件的输入输出、缓冲流的使用有了更深层次的理解,虽然还有一些地方理解不是很清楚,但还是收获了很多,相信之后会做的更好!

转载于:https://www.cnblogs.com/wyf20175217/p/10784593.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值