Java文件续传、断点处理
来源:互联网 发布:在浏览器上运行js脚本 编辑:程序博客网 时间:2024/06/16 09:43
BpPC(Breakpoint Producer-Consumer)
项目介绍:
实现文件读取的断点记录,下次在断点位置继续读取。
解决读取文件时突然中断的问题,如断电导致电脑关机。
设计模式:
项目组成:
archon.bppc.model. BpContext: 上下文对象,保存输入输出文件、队列以及常量配置类BpProperties等; BpObject: 输入输出队列的通用数据类型; BpProperties: 常量配置类。archon.bppc.pruducer. abstract BpProducer: 生产者; StringBpProducer: String类型的生产者。archon.bppc.consumer. abstract BpConsumer: 写出消费者; abstract MidConsumer: 中间消费者; StringBpConsumer: String类型的写出消费者。archon.bppc.controller. final BpController: 主控类,控制生产到消费的全过程。archon.bppc.delegate: 代理接口。archon.bppc.example: 演示程序。
功能:
串行处理多目录下的多文件,但不包含子目录。每个目录都需要单独配置。(可以实现并行处理)
简单使用:
public final class StringExample { // 准备好输入目录、输出目录以及临时目录。 private static final String IN_DIR = "F:/bppc/in/"; private static final String OUT_DIR = "F:/bppc/out/"; private static final String TMP_DIR = "F:/bppc/tmp/"; public static void main(String[] args) { // 设置常量配置类。 BpProperties bpProperties = BpProperties.getDefaultBpProperties(); bpProperties.setInDirPath(IN_DIR); bpProperties.setOutDirPath(OUT_DIR); bpProperties.setTmpDirPath(TMP_DIR); // 实现并实例化生产者、中间消费者以及写出消费者。 BpProducer bpProducer = new StringBpProducer(); BpConsumer bpConsumer = new StringBpConsumer(); MidConsumer midConsumer = new MidConsumer() { @Override protected String transform(String inValue) { try { // 模拟中间消费者的处理过程。 Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } return inValue + "\ta"; } } // 实例化主控类。 BpController<String, String> controller = new BpController<>(bpProperties, bpProducer, midConsumer, bpConsumer); controller.run(); } }
更多用法在example包里。
资源
Github: AlexGumHub / BreakpointProducerConsumer
OSChina: AlexGum / BreakpointProducerConsumer
0 0
- Java文件续传、断点处理
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- java中的断点下载文件
- java HTTP文件断点上传
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- Java 多线程断点下载文件
- java实现文件断点下载
- Java 多线程断点下载文件_详解
- Java:Socket断点传输大文件
- 使用Socket进行大文件断点上传续传
- Hadoop 文件追加(断点继传)
- 华为上机题汇总(十二)
- CCF认证模拟之ISBN号码
- cf gym101061J Cola(优先队列)
- RadioGroup
- javaScript
- Java文件续传、断点处理
- 如何去掉searchView中下划线
- Webpack介绍及入门
- Python学习笔记(三)
- 老程序总结的开发小技巧
- CodeForces 510C (拓扑排序)
- 暑期7.26-8.14学习小结
- 北京严控人口 北京人口数量2015
- 临时表要舍磁盘临时表取内存临时表