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将文件加入到一个文件中.
尝试这样一种方式,从单独的文件中一一读取并写入一个文件。下面简单的代码供您理解。试试这个,我希望它对你有用。你可以改进这段代码。
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)