如何使用Java通过网络将文件从一台计算机传输到另一台计算机?

用户95947:

我需要一个简单的应用程序,最好是跨平台的应用程序,该应用程序可以在两台计算机之间发送文件。

它只需要接受并发送文件,并显示进度条即可。我可以使用哪些应用程序或如何编写一个应用程序?

jjnguy:

发送和接收文件

文件的发送和接收基本上分为两个简单的代码段。

接收代码:

ServerSocket serverSoc = new ServerSocket(LISTENING_PORT);

Socket connection = serverSoc.accept();

// code to read from connection.getInputStream();

发送代码:

File fileToSend;
InputStream fileStream = new BufferedInputStream(fileToSend);

Socket connection = new Socket(CONNECTION_ADDRESS, LISTENING_PORT);
OutputStream out = connection.getOutputStream();

// my method to move data from the file inputstream to the output stream of the socket
copyStream(fileStream, out);

当他们想要发送文件时,发送代码段将在正在发送代码的计算机上运行。

接收代码需要放入一个循环中,以便每次有人想要连接到服务器时,服务器都可以处理该请求,然后返回到在serverSoc.accept()上等待。

为了允许在两台计算机之间发送文件,每台计算机将需要运行服务器(接收代码)以侦听传入的文件,并且当它们要发送文件时,它们都需要运行发送代码。

进度条

JProgressBarSwing中是很容易的使用。但是,使其正常工作并显示文件传输的当前进度稍微困难一些。

要使进度条显示在表单上,​​仅涉及将其放到上JFrame,也许还要进行设置,setIndeterminate(false)以表明程序在运行。

要正确实施进度条,您需要创建自己的SwingWorkerJava教程在并发课程中有一个很好的例子

但是,这本身就是一个相当困难的问题。如果您需要更多帮助,我建议您自己问这个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Docker容器从一台计算机迁移到另一台计算机?

如何使用FCM从一台计算机向另一台计算机使用Angular2发送通知

如何使用Expect从一台计算机登录到另一台计算机时运行命令

如何在Intelliji中将一个项目从一台计算机传输到另一台计算机?

将git文件夹从一台计算机复制并粘贴到另一台计算机?

将Python代码传输到另一台计算机-停止工作

使用另一台计算机通过SSH隧道传输HTTP流量

如何将本地组策略对象从一台计算机复制到另一台计算机?

如何将大文件从一台Windows计算机复制到另一台限制速度的传输?

通过另一台计算机供电

如何修复来宾VM从一台计算机移动到另一台计算机的网络连接?

如何将postgresql数据库从一台计算机移动到另一台计算机?

将文件从一台远程计算机复制到另一台

如何使用32GB闪存驱动器将200GB文件传输到另一台计算机?

使用iptables将网络流量从一台计算机转发到另一台计算机

如何通过网络将块设备从一台计算机安装到另一台计算机作为块设备?

将SSD传输到另一台计算机是否安全?

如何将直播电视从Windows Media Center流式传输到另一台计算机?

MongoDB:使用mongo shell将选定的数据从一台主机/计算机复制到另一台主机/计算机

将图像从一台计算机移动到另一台计算机时如何还原grub

为什么通过sudo rsync将文件传输到另一台计算机需要目标计算机的root密码?

如何通过网络上的另一台计算机路由网络流量?

测试通过TCP从一台计算机到另一台计算机(或到指定目标端点)的网络延迟?

将特定目录从一台计算机镜像到另一台计算机?

如何将 GnuCash 的数据从一台计算机移动到另一台计算机?

通过 TCP/IP 将 .txt 文件从一台计算机简单发送到另一台计算机

如何通过本地网络从另一台计算机远程使用一台计算机?

如何将单个 git 分支从一台计算机移动到另一台计算机

将 Sonarqube 从一台计算机移动到另一台计算机