我正在使用InputStream对象来计算某些文件的Md5.

我标记了流

稍后我重置流.但是,对于大文件,将出现以下异常…

inStreamLatestFile.mark(0);

checkSumCalculated = MD5CheckSumCalculator.calculateMD5CheckSum(inStreamLatestFile);

inStreamLatestFile.reset();

例外

.Md5ValidationAggrStrat ||**Error in calculating checksum:: java.io.IOException: Resetting to invalid mark**

||java.io.IOException: Resetting to invalid mark

||at java.io.BufferedInputStream.reset(BufferedInputStream.java:437)

||at com.amadeus.apt.ib.modules.func.map.camel.strategy.Md5ValidationAggrStrategy.aggregate(Md5ValidationAggrStrategy.java:81)

||at org.apache.camel.processor.aggregate.AggregateProcessor.onAggregation(AggregateProcessor.java:365)

||at org.apache.camel.processor.aggregate.AggregateProcessor.doAggregation(AggregateProcessor.java:245)

||at org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:201)

||at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)

||at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)

我试图关闭流并以这种方式重新打开它..只是为了获得一些异常,如下所示:

try {

inStreamLatestFile= ExchangeHelper.getMandatoryInBody(

oldExchange, InputStream.class);

//inStreamLatestFile.mark(0);

checkSumCalculated = MD5CheckSumCalculator.calculateMD5CheckSum(inStreamLatestFile);

//closing the inputStream of the latest file

if(inStreamLatestFile != null){

try {

inStreamLatestFile.close();

} catch (IOException e) {

logger.error("Error occurred in closing the stream :: "+ e.getMessage());

}

}

tempInputStream= ExchangeHelper.getMandatoryInBody(

oldExchange, InputStream.class);

oldExchange.getIn().setBody(tempInputStream);

但是,当我尝试重新使用新检索的InputStream时,出现以下异常.

caught: java.io.IOException: Stream closed: java.io.IOException: Stream closed

at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)

java 复制标记_java-对于大文件,在标记inputStream并将其重置...相关推荐

  1. java大文件导入_java导入大文件数据的解决方案

    2018年11月5号于南昌 中海蓝域小区 卧榻伴音弦 最近在做项目,一个20G大小的文件,要按行读入到数据库,妈呀,有什么好方法吗? 20G如果按照行读入的方式,需要20多个小时才能入库成功.主要性能 ...

  2. java读取1g超大图片_java读取大文件1G+ | 学步园

    正常读取大文件,可能会想到用缓存 如: package base; import java.io.BufferedInputStream; import java.io.BufferedReader; ...

  3. java实现对大文件切割下载_Java实现大文件的切割与合并操作示例

    Java实现大文件的切割与合并操作示例 发布时间:2020-09-27 02:25:08 来源:脚本之家 阅读:99 作者:HiBoyljw 本文实例讲述了Java实现大文件的切割与合并操作.分享给大 ...

  4. java 读取大文件内容_java读取大文件

    java一般读取文件时,将文件文内容全部加在到内存,然后读取,但是这种读取方式很明显不适合读取大文件,在进行大文件处理时,考虑到内存有限,采用分次读取的方式. java分次读取文件内容有三种方式, 1 ...

  5. u盘无法复制文件进去_U盘无法复制超过4GB的大文件怎么办?

    相信许多朋友经常通过U盘复制文件来转移数据,但可能会碰到下面的情况:U盘上明明还有大于4GB的空间,但只要复制超过4G大小的文件就提示文件太大而无法复制,是什么问题呢?该如何解决?下面IT技术资料分享 ...

  6. java 开源 断点续传,全平台大文件断点续传上传技术 ( 开源项目 Stream )

    Stream 上传插件介绍 Stream 这个项目主要是为了解决大文件上传, 本程序只是它的一个 Perl 后端的实现. 项目网站是: http://www.twinkling.cn 原始地址是: h ...

  7. 如何将计算机网络文件夹复制到,如何将大文件快速拷贝/复制/分享到另一台电脑?...

    如何将大文件快速拷贝/复制/分享到另一台电脑?相信这是很多朋友都想知道是如何做到的吧.因为我们平时可以因为各种原因,如电脑格盘重装.高清电影分享.更换电脑等),需要将大文件拷贝至另一台电脑.那该怎么办 ...

  8. java 下载加速_Java实现大文件下载,提速30倍!想学?我教你啊!

    前言 兄弟们看到这个标题可能会觉得是个标题党,为了解决疑虑,我们先来看下最终的测试结果: 测试云盘下载的文件 46M,自己本地最大下载速度 2M 1. 单线程下载,总耗时: 603s img 2. 多 ...

  9. java 文件分隔_java 实现大文件分隔成多个小文件

    public class FileTest { /** * 文件分隔器:给定文件的路径和每一块要拆分的大小,就可以按要求拆分文件 * 如果指定的块给原文件都还要大,为了不动原文件,就生成另一个文件,以 ...

最新文章

  1. golang grpc demo
  2. Linux stat命令总结
  3. AspectCore.Extension.Reflection : .NET Core反射扩展库
  4. Discuz!NT数据库读写分离方案
  5. java中容易混淆的方法_java中容易混淆的区别
  6. php+获取jq表单数据类型,jquery怎么获取表单标签值
  7. GridView 一些操作
  8. arduino UNO 点亮LED例程
  9. 解决python安装包无法正常安装问题
  10. 设计网站中的精品,你可能需要它--第二期
  11. java a标签实现文件下载_a标签实现文件下载 避免直接打开问题
  12. 三调 图斑地类面积_关于三调,国土空间规划中至少需要这些知识
  13. MongoDB Mobile Sync for iOS推出Beta版本
  14. fir.im Weekly - 如何打造 Github 「爆款」开源项目
  15. 我是歌手黄绮珊(黄妈)彭佳慧,_bin910729_新浪博客
  16. DaoCloud Enterprise 5.0社区版永久免费!支持免费下载使用、学习和测试,体验企业级云原生底座的性能
  17. JS中常用的判断函数
  18. 2017算法实习生应聘经验总结
  19. 克里金插值详细步骤_openlayers4 入门开发系列之前端动态渲染克里金插值 kriging 篇(附源码下载)...
  20. 构建可信软件系统的 10 要素

热门文章

  1. Java 使用SAX解析XML文档
  2. 如何在github上发起一个pull request,如何贡献代码,参与开源项目
  3. 瞧一瞧,看一看,微信应用号(小程序)
  4. BZOJ 1688: [Usaco2005 Open]Disease Manangement 疾病管理
  5. 分支程序设计02 - 零基础入门学习C语言11
  6. python 获取浏览器句柄下的网页控件_python webdriver操作浏览器句柄
  7. 计算机网络技术之网络系统设计与组建工程
  8. 06:校门外的树【一维数组】
  9. python续行_python 控制台单行刷新,多行刷新
  10. 电脑音响怎么插_BMW宝马5系G38改原厂全套哈曼卡顿音响+无钥匙进入,厚街宝马原厂改装中心...