11 java networking file
我需要一个简单的应用程序,最好是跨平台的应用程序,它可以在两台计算机之间发送文件.
它只需要接受并发送文件,并显示进度条.我可以使用哪些应用程序或如何编写应用程序?
发送和接收文件
发送和接收文件基本上分为两段简单的代码.
接收代码:
ServerSocket serverSoc = new ServerSocket(LISTENING_PORT);
Socket connection = serverSoc.accept();
// code to read from connection.getInputStream();
Run Code Online (Sandbox Code Playgroud)
发送代码:
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);
Run Code Online (Sandbox Code Playgroud)
发送代码片段将在要发送文件时发送代码的计算机上运行.
接收代码需要放在一个循环中,这样每当有人想要连接到服务器时,服务器就可以处理请求,然后返回等待serverSoc.accept().
为了允许在两台计算机之间发送文件,每台计算机都需要运行服务器(接收代码)来监听传入的文件,并且当他们想要发送文件时,他们都需要运行发送代码.
进度条
在JProgressBarSwing中是很容易的使用.但是,让它正常工作并显示文件传输的当前进度稍微困难一些.
要获得一个显示在表单上的进度条,只需将其放到一个JFrame并且可能设置为setIndeterminate(false)so hat,它表明您的程序正在运行.
要正确实现进度条,您需要创建自己的a实现SwingWorker.Java教程在他们的并发课程中有一个很好的例子.
尽管如此,这是一个相当困难的问题.如果您需要更多帮助,我建议您自己提出这个问题.
| 归档时间: |
|
| 查看次数: |
38441 次 |
| 最近记录: |