将文件流组装到hessianOutPut里,远程上传文件使用
- private static void uploadNIO(File file, HessianOutput out)
- throws IOException {
- out.writeByteBufferStart();
- System.out.println("file = " + file.exists());
- try {
- FileChannel channel = new FileInputStream(file).getChannel();
- System.out.println("file Size: " + channel.size());
- final int size = 10485760;
- ByteBuffer buf = ByteBuffer.allocateDirect(size);
- int numRead = 0;
- do {
- numRead = channel.read(buf);
- buf.flip();
- int limit = buf.limit();
- byte[] tmpByteArray = new byte[limit];
- while (buf.hasRemaining()) {
- buf.get(tmpByteArray);
- out.writeByteBufferPart(tmpByteArray, 0, limit);
- }
- buf.clear();
- } while (numRead > 0);
- out.writeByteBufferEnd(new byte[0], 0, 0);
- } catch (Error e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
Buffer要点:
capacity()
: buffer的最大容量
limit()
: 已用的buffer量
position()
: 当前定位下一个读/写的位置
mark()
: 最后一次用reset()重置的位置
-
常用方法:
方法名 |
说明 |
position() |
返回当前位置 |
position(int index) |
将index设为当前位置 |
limit() |
返回当前限度 |
limit(int newLimit) |
将newLimit设为当前限度 |
clear() |
position设0,limit设capacity,取消所有mark |
rewind() |
position设0,取消所有mark |
flip() |
limit设为当前position,position设为0 |
分享到:
相关推荐
php+html5多进程实现超大附件无刷新上传,支持超大文件,核心原理是前端将文件分割成多个片段,然后依次将片段上传到服务器,服务器后端接收到全部片段后,再组装成完整的文件,后端在组装片段时,会将校验原始文件...
java socket 大文件传输,快速传输, 数据包的分片,组装,涉及UDP,TCP传输技术,NIO非阻塞等等,适合对socket编程进一步学习的同学
如何在vb中分割一个文件并组装恢复它
如何在vb中分割一个文件并组装恢复它(18KB)
然后屏幕上显示要安装的硬件(位置会有发光提示),把硬件安装到指定位置(位置会有发光提示),安装完全部硬件之后,旁边的电脑会自动开机,屏幕有开机动画有开机的声音。含源码,导出exe文件,设计文档,视频演示
Gerber 文件是所有电路设计软件都可以产生的文件,在电子组装行业又称 为模版文件( stencil data) ,在 PCB 制造业又称为光绘文件。可以说 Gerber 文 件是电子组装业中最通用最广泛的文件格式。 Gerber 文件是 EIA ...
实现PDF文件的重新组装或者选择其中的任意页码组成新的文件
FormData 对象的使用: 1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素...3.通过选择文件拿到数据 4.请求接口 以上就是本次关于vue中实现上传文件给后台的全部实例内容,感谢大家对软件开发网的支持。
上传前端进行文件分片处理,调用后台上传分片后合并; 下载前端根据后台返回的文件大小分片传range bytes=stat-end后台根据值传回相应的流,前端获取完成后进行组装输出
包括:VB.Net2010源代码(工程文件)、DLL文件、CHM帮助文件。CHM帮助文件中有各函数详细的说明,以及部署、卸载、配置SQL Server的SQL脚本。CLR扩展DLL 在MS-SQL Server 环境中实现文件、目录操作,程序使用VS2010...
如何在VB中分割一个文件并组装恢复它(18KB)
基于工作流引擎的构件组装体系结构.pdf 321 KB 基于关系结构的工作流引擎.doc 674 KB 基于关系结构的轻量级工作流引擎.pdf 225 KB 基于关系数据库的工作流引擎设计.doc 118 KB 介绍一款工作流引擎设计思路.doc 23 KB...
该代码可以处理100万数据量的excel文件,xlsx文件数据量太大,用普通的读法会报内存溢出错误,所以用官网提供的方法,一条一条的读取大excel文件,本例子从这点出发,组装excel里读取的单条数据为list,在根据需求...
电脑组装 组装技术 电脑组装全面图解 电脑组装 组装技术
REVA汽车转换器组装设备STEP文件
申请人将文件(纸档+电子档)连同《文件 建立 修改 废止申请单》提交DCC,DCC根据《文 件 建立 修改 废止申请单》上要求的总份数对文件原稿及《文件 建立 修改 废止履历表 》进行复印,在复印文件上加盖红色"受控...
利用字节数组将大文件进行拆分,并把每一小块数据封装成对象进行传输,然后在接收端进行数据块的组装,生成传输文件。
作为电脑组装与维护的入门经典,具有实用性和专业性。全书分为4篇,硬件选购篇,组装实战篇,系统维护篇,故障排除篇。
工作流管理技术的主要贡献就是业务过程逻辑和业务活动实现的分离.在运行阶段,工作流引擎根据过程 模型调度业务活动的执行,在构件环境下,则是过程构件动态组装的集中体现.过程构件组装时不一定实例化模 型中的...
文件的完美合成分解,合成文件可以选择分解出单个文件。