当一台计算机从文件服务器,如何使用Java通过网络将文件从一台计算机传输到另一台计算机?...

小编典典

发送和接收文件

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

接收代码:

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)以表明程序正在运行。

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

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

2020-11-13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值