zoukankan      html  css  js  c++  java
  • 【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是可以实现追加的。

  • 相关阅读:
    Spring Cloud Config微服务高可用配置中心配置
    SpringCloud系列教程带实操
    小白入门~ GitHub和Git超详细使用教程~~~
    (转)统一建模语言UML用法
    (转)理解Java对象的序列化和反序列化
    Intellij IDEA如何自动生成一个serialVersionUI
    枚举的特性梳理
    java实操题:一个数组有100个元素,每次移除该数组第7的整数倍元素......
    利用vertical-align属性实现分隔符
    css指示箭头两种实现方法
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/6140319.html
Copyright © 2011-2022 走看看