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

蓝墨云班课 编写MyCP.java

要求:

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

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

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

提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

我将主函数定义为MYDC;

然后通过调用输入文档,将其中的数转2进制到输出文档中,类代码如下:

public static void dumpToTwo(InputStream src, OutputStream dest)

throws IOException {

try (InputStream input = src; OutputStream output = dest) {

byte[] data = new byte[1];

int length;

while ((length = input.read(data)) != -1) {

String str = Integer.toBinaryString((data[0]&0xFF)+0x100).substring(1);

data[0] = Byte.parseByte(str);

output.write(data, 0, length);

}

}

}

调用输入文档,将其中的数转十进制到输出文档中,类代码如下:

public static void dumpToTen(InputStream src, OutputStream dest)

throws IOException {

try (InputStream input = src; OutputStream output = dest) {

byte[] data = new byte[1];

int length;

while ((length = input.read(data)) != -1) {

data[0] = Byte.parseByte(String.valueOf(data[0]),10);

output.write(data, 0, length);

}

}

}

这是我的完整代码:

/**

* Created by zx on 17-6-1.

*/

import java.io.*;

class MyCP{

public static void dumpToTwo(InputStream src, OutputStream dest)

throws IOException {

try (InputStream input = src; OutputStream output = dest) {

byte[] data = new byte[1];

int length;

while ((length = input.read(data)) != -1) {

String str = Integer.toBinaryString((data[0]&0xFF)+0x100).substring(1);

data[0] = Byte.parseByte(str);

output.write(data, 0, length);

}

}

}

public static void dumpToTen(InputStream src, OutputStream dest)

throws IOException {

try (InputStream input = src; OutputStream output = dest) {

byte[] data = new byte[1];

int length;

while ((length = input.read(data)) != -1) {

data[0] = Byte.parseByte(String.valueOf(data[0]),10);

output.write(data, 0, length);

}

}

}

public static void main(String[] args) {

FileInputStream fis = null;

FileOutputStream fos = null;

try {

fis = new FileInputStream("/home/zx/代码托管/shuru.java");

fos = new FileOutputStream("/home/zx/代码托管/shuchu.java");

dumpToTen(fis, fos);

}catch(Exception e) {

System.out.println(e);

}

}

}

截图如下:

706b60966243e05827993f0e5f10842a.png

678b02426d4bcda41263c1f0ebf9e803.png

a06d60e70d366183759d06c2ed3aec19.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在shell中输入命令 ">mycp1 filename1 filename2" 来实现将 filename1 文件复制为 filename2。这个命令实际上是自定义的命令,需要在系统中定义一个名为 "mycp1" 的命令,然后再将文件 filename1 复制为 filename2。这个命令可以通过编写一个 shell 脚本来实现。以下是一个示例脚本: ``` #!/bin/bash cp $1 $2 ``` 将上述代码保存为一个名为 "mycp1" 的文件,并将其添加到系统的 PATH 环境变量中,就可以在 shell 中运行 ">mycp1 filename1 filename2" 命令来实现文件复制了。 ### 回答2: 在shell中,可以通过编写一个脚本来实现将filename1代表的文件拷贝为filename2对应的文件。以下是一个示例的脚本: ``` #!/bin/bash if [ $# -ne 2 ]; then # 检查输入的参数个数是否正确 echo "请输入两个参数:源文件名和目标文件名" exit 1 fi if [ ! -f $1 ]; then # 检查源文件是否存在 echo "源文件不存在" exit 1 fi cp $1 $2 # 复制源文件到目标文件 if [ $? -eq 0 ]; then # 检查复制是否成功 echo "文件拷贝成功" else echo "文件拷贝失败" fi ``` 将以上代码保存为mycp1文件,并赋予执行权限(chmod +x mycp1)。然后,在Shell中输入">mycp1 filename1 filename2"就可以实现将filename1代表的文件拷贝为filename2对应的文件。在执行命令后,脚本会进行参数个数和文件存在性的检查,并在复制完成后给出相应的提示信息。 ### 回答3: 在shell中,可以通过编写一个名为mycp1的脚本来实现将filename1代表的文件拷贝为filename2对应的文件。下面是一个可能的mycp1脚本的实现方式: ```shell #!/bin/bash # mycp1脚本用于将filename1代表的文件拷贝为filename2对应的文件 # 检查输入参数是否正确 if [ $# -ne 2 ]; then echo "Usage: mycp1 filename1 filename2" exit 1 fi # 检查filename1文件是否存在 if [ ! -f $1 ]; then echo "File $1 does not exist." exit 1 fi # 拷贝文件 cp $1 $2 # 检查拷贝是否成功 if [ $? -eq 0 ]; then echo "File $1 has been successfully copied to $2." else echo "Failed to copy file $1 to $2." fi ``` 使用以上脚本,可以在shell中输入`>mycp1 filename1 filename2`来实现将filename1代表的文件拷贝为filename2对应的文件。其中,filename1和filename2为具体的文件路径和名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值