【问题标题】:Create a file with several arrays in java在java中创建一个包含多个数组的文件
【发布时间】:2012-09-26 01:26:42
【问题描述】:

给定一个字节数组,我可以用代码从它创建一个文件

Files.write(String path, byte[] byteArray)

问题是,因为我必须处理非常大的数组大小,而我无法制作一个长大小的数组

long n = 100000000;
byte byteArray = new byte[n]; //ERROR! Required int, found long

我所做的是我有几个字节数组。例如,因为我不能有一个 4gb 的数组,所以我制作了 20 个 200mb 的字节数组。这 20 个数组代表一个文件的信息。现在,我怎样才能从这个字节数组创建一个文件?我知道的唯一方法是使用 Files.write,但这仅适用于 1 个数组。

提前致谢。

【问题讨论】:

    标签: arrays file stream size createfile


    【解决方案1】:

    你可以使用:

    Files.write(path, bytes, StandardOpenOption.APPEND);
    

    关于第一个电话之后的电话。

    更好的方法(不需要重新打开文件 20 次)是使用 FileOutputStream ,例如:

    FileOutputStream fos = new FileOutputStream(path);
    for(int i = 0; i < byteArrays.length; ++i)
    {
        fos.write(byteArrays[i]);
    }
    

    【讨论】:

    • 谢谢!使用 StandardOpenOption.APPEND 我可以一个接一个地写入所有字节数组。完美运行。
    猜你喜欢
    • 2020-05-02
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多