zoukankan      html  css  js  c++  java
  • 20175216 MyCP(课下作业)

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

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

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

    需要提交博客和答辩

    代码

    MyCP部分

    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class MyCP {
    
        public static void main(String[] args) throws IOException {
            Scanner scan=new Scanner(System.in);
            String str=scan.nextLine();
            String[]Nstr=str.split(" ");
    
    
            if(Nstr[0].equals("-tx"))
            {
                FileReader reader = new FileReader(Nstr[1]);
                FileWriter writer = new FileWriter(Nstr[2]);
                CharUtiltx.dump(reader, writer);
            }
    
            if(Nstr[0].equals("-xt"))
            {
                FileReader reader = new FileReader(Nstr[1]);
                FileWriter writer = new FileWriter(Nstr[2]);
                CharUtilxt.dump(reader, writer);
            }
    
        }
    }
    

    二进制文件转文本文件

    import java.io.*;
    
    public class CharUtiltx {
        public static void dump(Reader src, Writer dest) throws IOException {
            try(Reader input = src; Writer output = dest) {
                char[] data = new char[1];
                while((input.read(data)) != -1) {
                    int da=(int)data[0];
                    String str1="";
                    String str=Integer.toBinaryString(da);
                    for(int i=0;i<8;i++)
                    {
                        if(i<(8-str.length()))str1+='0';
    
                    }
                    str1+=str;
                    output.write(str1, 0, 8);
                    output.write(" ");
                }
            }
        }
    }
    

    文本文件转二进制文件

    import java.io.*;
    
    public class CharUtilxt {
        public static void dump(Reader src, Writer dest) throws IOException {
            try(Reader input = src; Writer output = dest) {
                char[] data = new char[8];
                char []ch = new char[1];
    
                while((input.read(data)) != -1) {
                    String str="";
                    for(int i=0;i<8;i++)
                    {
                        str+=data[i];
                    }
                    int ten=Integer.valueOf(str,2);
                    ch[0]=(char)ten;
                    output.write(ch, 0, 1);
                    output.write(" ");
                }
            }
        }
    }
    

    实验截图
    mycp.PNG

  • 相关阅读:
    使用parted 对大容量盘进行分区
    CENTOS7 修改网卡名称为eth[012...],格式
    docker报错
    docker 存储定义成direct-lvm 模式
    Docker存储方式选型建议
    centos install docker setup centos7 安装docker
    docker centos yum 源
    zip 解压脚本
    IaaS,PaaS,Saas 云服务的介绍
    Codeforces Round #589 (Div. 2) D. Complete Tripartite(模拟)
  • 原文地址:https://www.cnblogs.com/besti20175216/p/10787339.html
Copyright © 2011-2022 走看看