• 20175213吕正宏 MyCP(课下任务,必做)


    一、任务详情:

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

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

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

    二、任务准备:

    1.十进制转成二进制: Integer.toBinaryString(int i)

    2.二进制转十进制: Integer.valueOf("0101",2).toString()

    3.十进制转化为二进制的方法 Integer.toBinaryString(int i)

    注意:转化的二进制以字符串的形式返回

    查看一个数的二进制上某一位是0还是1的方法:

    ①屏蔽法

    num & (1<<index)) >> index(判断数字num的二进制上第index为是1还是0)

    ②利用String的charAt方法来查看某一位的ASCII值

    Integer.toBinaryString(num)//先将num转化为二进制
    ASCII =(int)tmp2.charAt(index)//如ASCII=47,则这一位为0; 如ASCII=48,则这一位为1

    三、任务代码(十进制转二进制):

    import java.io.*;
    import java.*;
    public class MyCP{
        public static void main(String[] args) throws IOException {
            String filepath = "C:\Users\LV\Desktop\十进制.txt";
            String s =dataInputStream(filepath);
            FileOutputStream fps = new FileOutputStream("C:\Users\LV\Desktop\二进制.txt");
            fps.write(s.getBytes());
            fps.close();
        }
        public static String dataInputStream(String filepath) throws IOException {
            File file = new File(filepath);
            DataInputStream dps = new DataInputStream(new FileInputStream(file));
            StringBuilder byData = new StringBuilder();
            byte bt = 0;
            for(int i=0;i<file.length();i++) {
                bt = dps.readByte();
                String str = Integer.toBinaryString(bt);
                if(str.length() == 1) {
                    str = "0"+str;
                }
                byData.append(str.toUpperCase());
            }
            return byData.toString();
        }
    }
    

    四、运行结果截图:

    五、参考资料:

    https://blog.csdn.net/sofuzi/article/details/80686487

  • 相关阅读:
    java 多线程4: java线程的优先级
    Thread.currentThread().getName() ,对象实例.getName() 和 this.getName()区别
    go http
    go redis
    go tcp
    go 单元测试
    go 定时器
    go channel
    go goroutine
    go 错误处理
  • 原文地址:https://www.cnblogs.com/LZHNB/p/10786312.html
Copyright © 2020-2023  润新知