java rmi 文件传输_JAVA-RMI实现大文件传输
在使用java-rmi的过程中,必然会遇到一个文件上传的问题,由于在rmi中无法传输文件流(比如rmi中的方法参数不能是FileInputStream之类的),那么我们只好选择一种折中的办法,就是先用FileInputStream将文件读到一个Byte数组中,然后把这个Byte数组作为参数传进RMI的方法中,然后在服务器端将Byte数组还原为outputStream,这样就能通过RMI来传输文件了 JAVA-RMI实现大文件传输,具体代码如下:
[代码]FileClient
package rmiupload; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.net.MalformedURLException; import java.rmi.Naming; import java.rmi.NotBoundException; import java.rmi.RemoteException; public class FileClient { public FileClient() { // TODO Auto-generated constructor stub } public static void main(String[] args) { try { FileDataService fileDataService = (FileDataService) Naming.lookup("rmi://localhost:9001/FileDataService"); fileDataService.upload("/Users/NeverDie/Documents/test.mp4", new FileClient().fileToByte("/Users/NeverDie/Music/test.mp4")); } catch (MalformedURLException | RemoteException | NotBoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //这个方法比较重要,通过这个方法把一个名为filename的文件转化为一个byte数组 private byte[] fileToByte(String filename){ byte[] b = null; try { File file = new File(filename); b = new byte[(int) file.length()]; BufferedInputStream is = new BufferedInputStream(new FileInputStream(file)); is.read(b); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return b; } }转载请注明来源稳砜诚信在线http://www.wind-fixasia.com
java rmi 文件传输_JAVA-RMI实现大文件传输相关推荐
- 镭速传输,助力华为大文件传输速率提升十倍
成立于1987年的华为是全球领先的ICT(信息与通信)基础设施和智能终端提供商,致力于把数字世界带入每个人.每个家庭.每个组织,构建万物互联的智能世界.始终坚持在通信网络.IT.智能终端和云服务等领域 ...
- java 传输 大文件_java高效实现大文件拷贝功能
在java中,FileChannel类中有一些优化方法可以提高传输的效率,其中transferTo( )和 transferFrom( )方法允许将一个通道交叉连接到另一个通道,而不需要通过一个缓冲区 ...
- java 拷贝大文件_java高效实现大文件拷贝功能
在java中,FileChannel类中有一些优化方法可以提高传输的效率,其中transferTo( )和 transferFrom( )方法允许将一个通道交叉连接到另一个通道,而不需要通过一个缓冲区 ...
- java切割文件_Java如何将大文件切割成小文件
运用Java编写代码将一个大文件切割成指定大小的小文件 思路: 对已知文件进行切割操作 –> 得到多个碎片文件 使用: 1. 1个字节输入流 –> 读取已知文件中的数据 2. 多个字节输出 ...
- java是怎么实现文件上传的_java怎么实现大文件上传
Q1:javaWeb能和ftp实现大文件上传吗 java上传可以使用common-fileupload上传组件的.common-fileupload是jakarta项目组开发的一个功能很强大的上传文件 ...
- php curl 传输大文件,空白目录 · php下载大文件curl · 看云
假设一个场景: 当用户需要通过我们提供的下载服务,来下载一个较大的文件(200M-2G)时,我们服务端应该如何来满足这个服务呢? 且当我们的服务端是采用nginx+php的架构时,该如何解决呢. 作为 ...
- 镭速传输:TB级大文件传输,一招教你搞定
当文件散布在各个地方时,收集文件就变成了一项非常昂贵且繁复的操作.操作系统通常会在本地存储中保留文件的属性数据缓存,在后台连续索引本地存储中的文件,并使用可以在需要时快速访问的值来使高速缓存保持最新状 ...
- 云服务器传文件用什么软件,免费云主机文件传输软件推荐,大文件极速秒传
在对云主机进行运维的过程中,我们总是需要在云主机和本地之间进行文件传输.但是文件传输的过程往往会受到带宽的限制,譬如小编仅从云主机上下载一个300兆大小的文件就需要10分钟,上传一个60兆大小的文件需 ...
- java多线程 文件夹_java多线程读同一个文件
java多线程同时读取一个文件,这个方法可行吗?不可行. 多线程能够提高效率是因为现在的cpu普遍是多核cpu, 多条线程可以在多个内核中同时执行来提高计算效率.但是计算机磁盘的磁头只有一个,即使多条 ...
- java上传加密_Java上传下载文件并实现加密解密
使用 Jersey 服务器实现上传,使用 HTTP 请求实现下载 引入依赖 在 pom.xml 中添加 Jersey 相关依赖 com.sun.jersey jersey-client 1.18.1 ...
最新文章
- 写一个会导致死锁的线程
- word图片嵌入式为何只能看到一部分_Word排版的正确姿势!(Word论文排版教学)...
- python bootstrap 视频_想用Django+ Bootstrap写一个网站, 有哪些比较系统完整的书或者视频可以参考?...
- 计算机网络---分层结构、协议、接口、服务
- 刷脸AI供应商下调业绩预期,苹果股价应声跌掉一个小米
- 快慢指针算法及其应用
- Log4j与common-logging联系与区别
- 药事管理学名词解释和问答题题集
- C语言字符与数字的互转
- SI4463研究计划(兼STM32F0进一步加深理解)
- mongodb 下载
- xp系统查计算机设备型号,xp电脑设备型号怎么查询
- 网页或公众号微信网页抓包软件Fiddler的正确安装使用!
- VC绘制位图--BeginPaint()与GetDC()的区别
- 乡镇卫生院计算机编制待遇怎么样,三甲医院VS乡镇卫生院事业编,选哪个?
- 一、MySQL数据库设置默认时区
- 使用电脑登录邮箱账号的流程是什么?
- 了解计算机的组成和硬件系统
- 确认,谷歌AI中国中心总裁李佳离职
- Subscriber class XXX and its super classes have no public methods with the @Subscribe annotation