【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是可以实现追加的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值