java实现客户端从服务器中下载图片功能(类似上传图片) 提示:服务器发(服务器本地读;再发到socket)---->客户端收(从socket读取,再存到客户端本地)
时间: 2023-08-20 18:07:13 浏览: 98
以下是Java实现客户端从服务器中下载图片的代码示例:
```java
import java.io.*;
import java.net.*;
public class DownloadImageClient {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8000); // 连接服务器
InputStream in = socket.getInputStream(); // 获取输入流
OutputStream out = new FileOutputStream("downloaded_image.jpg"); // 创建文件输出流
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) { // 从输入流中读取数据
out.write(buffer, 0, len); // 写入到文件输出流中
}
out.close(); // 关闭文件输出流
in.close(); // 关闭输入流
socket.close(); // 关闭连接
}
}
```
在上述代码中,我们创建了一个Socket对象来连接服务器,并获取了服务器的输入流。然后我们创建了一个文件输出流,用于将从服务器接收到的数据写入到本地文件中。使用一个循环,不断从输入流中读取数据,写入到文件输出流中,直到输入流的数据读取完毕。最后,关闭文件输出流、输入流和Socket连接。
需要注意的是,这里假设服务器已经将需要下载的图片读入到了输入流中,并通过Socket发送给了客户端。在实际应用中,还需要在服务器端实现相应的功能。
阅读全文