课下必做MyCP

MyCP(课下作业,必做)

1.作业要求

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

2.涵盖内容

十进制转成十六进制:
Integer.toHexString(int i)
十六进制转成十进制 :
Integer.valueOf("FFFF",16).toString()
十进制转成八进制:
Integer.toOctalString(int i)
八进制转成十进制:
Integer.valueOf("876",8).toString()
十进制转成二进制:
Integer.toBinaryString(int i) (public static String toBinaryString(int i))
二进制转十进制:
Integer.valueOf("0101",2).toString() (public static Integer valueOf(String s, int radix))

3.作业代码

import java.io.*;
public class MyCP{
public static void main(String[] args) throws IOException {
String file = "D:/MyCP/A.txt";
String s =dataInputStream(file);
FileOutputStream fps = new FileOutputStream("D:/MyCP/B.txt");
fps.write(s.getBytes());
fps.close();
}
public static String dataInputStream(String file) throws IOException {
File file2 = new File(file);
DataInputStream dls = new DataInputStream(new FileInputStream(file2));
StringBuilder byData = new StringBuilder();
byte b = 0;
for(int i=0;i<file2.length();i++) {
b = dls.readByte();
String str = Integer.toBinaryString(b);
if(str.length() == 1) {
str = "0"+str; }
byData.append(str.toUpperCase());
}
return byData.toString();
}
}

4.运行截图1274162-20190428092846980-726149050.png

1274162-20190428092907316-1867457146.png

1274162-20190428092920740-638513650.png

5.作业中遇到的问题及解决方法

1274162-20190428093100027-1988278069.png

修改文件路径即可解决

6.码云链接

https://gitee.com/WZL-DM/BESTI.java.is.20175131/blob/master/src/MyCP.java

转载于:https://www.cnblogs.com/WZL-DM/p/10782147.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值