首页 > 解决方案 > Java 二进制文件格式并没有大大减少文件大小

问题描述

我有多个大型 csv 文件(每个约 100MB),我想我会转换为二进制格式以节省磁盘空间。我正在逐行读取 csv 文件,并将每一行从字符串转换为字节数组,并按以下方式将该数组保存到文件中:

    BufferedReader in = new BufferedReader(new FileReader(pathToFile));
    FileOutputStream out = new FileOutputStream(path);   
    String line;
    byte[] storeLine;
    while ((line = in.readLine()) != null) {

        storeLine = line.getBytes();
        out.write(storeLine);
        out.flush();
    }
    out.close();

当我运行这个时,我发现新构建的二进制文件并不比 csv 文件小很多。将字符串写入二进制文件时这是否正常,或者我可以做些什么来优化它?

例如:csv 文件 - 99851Kb 二进制文件 - 99646Kb

标签: javacsvbinarybyte

解决方案


推荐阅读