java如何把一个以文本存储的文件转化为二进制文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何把一个以文本存储的文件转化为二进制文件相关的知识,希望对你有一定的参考价值。

参考技术A 不需要转换。
解释:任何文件的存储都是通过二进制的形式进行存储的,只不过经过机器语言编译后,展示给用户的体验是中文或者是字符串形式。
备注:如果是想将数字转换为二进制,可以直接通过Integer的toBinaryString方法直接进行转换,举例:
int i =8;
System.out.println(Integer.toBinaryString(i));
输出结果就是:1000.
参考技术B 并不是所有的文本形式的文本都可以转化为二进制形式的。只有纯数字的可以。比如说137文本形式是110001(1) 110011(3) 110111(7),而二进制形式则为10001001(137)。 参考技术C 使用ava.io包中的某些类本回答被提问者采纳 参考技术D 任何文件都是二进制文件,包扩文本。。。。。。你可以去看看编码方面的资料

mycp

内容

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

    import java.io.*;
    /**
    *Created by xiang on 2018/6/10.
    */
    public 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);//Byte.parseByte(Integer.toBinaryString(num)); //转换为二进制文件
                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("D:/Java/from.txt");
            fos = new FileOutputStream("D:/Java/to.txt");
            dumpToTen(fis, fos);
        }catch(Exception e) {
            System.out.println(e);
        }
    }
    }

    结果

    技术分享图片

以上是关于java如何把一个以文本存储的文件转化为二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

JAVA如何将二进制数转换成文件?

怎样把文件转换成二进制形式的文本文件?

c/c++转化为XML存储????

C++如何将一个存有数据的文本文件转换为二进制文件?

如何向java jframe中添加下拉列表 按钮 文本框 最后把信息存储在文件里

mycp