android socket 文件传输
时间: 2023-10-07 12:02:52 浏览: 61
Android提供了Socket编程接口,可以实现文件的传输。在进行文件传输之前,需要确保客户端和服务端的Socket已经建立连接。下面是一个简单的示例代码:
服务端代码:
```java
try {
ServerSocket serverSocket = new ServerSocket(8888);
Socket clientSocket = serverSocket.accept();
File file = new File("path_to_file"); // 待传输的文件路径
FileInputStream fileIn = new FileInputStream(file);
OutputStream out = clientSocket.getOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileIn.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
fileIn.close();
out.close();
clientSocket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
```
客户端代码:
```java
try {
Socket socket = new Socket("server_ip_address", 8888);
InputStream in = socket.getInputStream();
FileOutputStream fileOut = new FileOutputStream("destination_path"); // 接收文件的保存路径
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
fileOut.write(buffer, 0, bytesRead);
}
in.close();
fileOut.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
```
通过上述代码,服务器监听指定端口的连接请求并接受连接,将待传输文件的数据通过OutputStream写入Socket输出流给客户端;客户端通过Socket连接服务器,并将Socket输入流的数据写入到文件输出流中,保存到指定路径。
需要注意的是,上述代码只是简单示例,实际使用时需要进行错误处理、断点传输等逻辑的处理。