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

  • 相关阅读:
    看过设计模式第一章的心得
    支付宝支付过程填坑
    C# 合并只要有交集的所有集合
    C#中的反射 Reflection
    动态更改配置文件
    六种弹窗
    Respone弹窗
    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件
    使用ECharts报表统计公司考勤加班,大家加班多吗?
    排污许可管理条例-中华人民共和国国务院令第736号
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/6140319.html
Copyright © 2020-2023  润新知