JAVA接口如何传输文件
时间: 2023-12-30 13:05:53 浏览: 58
在Java中,可以通过使用Java IO库中的InputStream和OutputStream来传输文件。以下是一个简单的示例代码:
```java
// 服务器端
ServerSocket serverSocket = new ServerSocket(8000);
Socket socket = serverSocket.accept();
FileInputStream fileInputStream = new FileInputStream("file.txt");
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
OutputStream outputStream = socket.getOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
socket.close();
serverSocket.close();
// 客户端
Socket socket = new Socket("localhost", 8000);
byte[] buffer = new byte[1024];
int bytesRead;
InputStream inputStream = socket.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream("file.txt");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
while ((bytesRead = inputStream.read(buffer)) != -1) {
bufferedOutputStream.write(buffer, 0, bytesRead);
}
bufferedOutputStream.flush();
socket.close();
```
在这个示例中,服务器端将文件“file.txt”发送给客户端。服务器端通过创建ServerSocket来监听客户端连接,并通过Socket.accept()方法来接受客户端连接。然后,服务器端打开文件“file.txt”,读取文件内容,并通过OutputStream.write()方法将文件内容写入Socket输出流中。
客户端通过创建Socket来连接服务器端,并通过Socket.getInputStream()方法获取服务器端的输入流。然后,客户端打开文件“file.txt”,将文件内容通过OutputStream.write()方法写入Socket输出流中,最后通过BufferedOutputStream.flush()方法将缓冲区中的数据刷新到磁盘中保存。
阅读全文