Android:将多部分文件连接在一起制作单个文件

don*_*don 6 android join http file segment

我正在开发一个Android应用程序,可以下载几个并行段的文件.我把它们分开了,现在我想把它们加在一起.

为了更清楚,我将通过一个简单的例子向您展示.假设我下载了4个段中的100kb文件.第一段为0kb至25kb,第二段为25kb至50kb,第三段为50kb至75kb,最后一段为75kb至100kb.文件类型可以是mp3,avi等.

现在我需要加入它们,以便这些段(文件部分)成为一个文件.我希望你能帮助我.谢谢你的时间!

编辑:例如它更像是分段的avi(xxx.avi.001,xxx.avi.002,xxx.avi.003)文件,我们有时会下载到我们的PC并使用HJSplit将文件加入到一个文件中.

Lok*_*esh 3

尝试这样一种方式,从单独的文件中一一读取并写入一个文件。下面简单的代码供您理解。试试这个,我希望它对你有用。你可以改进这段代码。

    InputStream in1 = new FileInputStream("sourceLocation1");
    InputStream in2 = new FileInputStream("sourceLocation2");
    InputStream in3 = new FileInputStream("sourceLocation3");
    InputStream in4 = new FileInputStream("sourceLocation4");

    OutputStream out = new FileOutputStream("targetLocation");

    // Copy the bits from instream to outstream
    byte[] buf = new byte[1024];
    int len;

    while ((len = in1.read(buf)) > 0) {
        out.write(buf, 0, len);
    }

    while ((len = in2.read(buf)) > 0) {
        out.write(buf, 0, len);
    }

    while ((len = in3.read(buf)) > 0) {
        out.write(buf, 0, len);
    }

    while ((len = in4.read(buf)) > 0) {
        out.write(buf, 0, len);
    }

    in1.close();
    in2.close();
    in3.close();
    in4.close();
    out.close();
Run Code Online (Sandbox Code Playgroud)