【java 断点续传】

模拟 断点续传

首先,先读取word文件的 一部分

 1 package com.sxd.readLines;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.FileOutputStream;
 6 import java.io.IOException;
 7 
 8 import org.junit.Test;
 9 
10 /**
11  * 测试   字符流  追加
12  * @author Administrator
13  *
14  */
15 public class Append4File {
16     
17     @Test
18     public void append() throws IOException{
19         FileInputStream inStream = new FileInputStream(new File("d:/song/sa.docx"));
20         FileOutputStream outStream = new FileOutputStream(new File("d:/song/1.docx"),true);
21         byte[] arr = new byte[1024*50];//读取1MB
22         System.out.println("文件总长度"+inStream.available());
23         System.out.println("实际读取长度:"+inStream.read(arr));
24         outStream.write(arr);
25         outStream.close();
26         inStream.close();
27     }
28 }
View Code

 

此时文件 读取了一部分 ,接下来测试 文件是否可以 追加后 完整打开

 1 package com.sxd.readLines;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.FileOutputStream;
 6 import java.io.IOException;
 7 
 8 import org.junit.Test;
 9 
10 /**
11  * 测试   字符流  追加
12  * @author Administrator
13  *
14  */
15 public class Append4File {
16     
17     @Test
18     public void append() throws IOException{
19         FileInputStream inStream = new FileInputStream(new File("d:/song/sa.docx"));
20         FileOutputStream outStream = new FileOutputStream(new File("d:/song/1.docx"),true);
21         byte[] arr = new byte[inStream.available()-51200];//读取1MB
22         System.out.println("文件总长度"+inStream.available());
23         System.out.println("跳过的长度:"+inStream.skip(51200));
24         outStream.write(arr);
25         outStream.close();
26         inStream.close();
27     }
28 }
View Code

 

测试后发现  文件可以完整打开 这样的话 是可以实现断点续传的。

 

关于:

FileOutputStream outStream = new FileOutputStream(new File("d:/song/1.docx"),true);

将第二个参数设置为true是可以实现追加的。

posted @ 2016-12-07 10:58  Angel挤一挤  阅读(357)  评论(0)    收藏  举报