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

  • 相关阅读:
    计算SQL语句运行速度
    SQL 分页 语句
    RDLC 显示 错误号 的解决办法
    ASP.NET 编写控件的一些常用属性
    自己写的JS数组插入方法
    javascript textarea MaxLength 属性的实现
    table 样式
    AviCap
    C# 遍历枚举
    JS 获取网页内容高度 和 网页可视高度 支持IE 6789 Firefox Chrome
  • 原文地址:https://www.cnblogs.com/besti20175216/p/10787339.html
Copyright © 2011-2022 走看看