socket实现文件传输java简单例子
时间: 2023-12-31 08:02:21 浏览: 27
socket实现文件传输的java简单例子如下:
1. 服务器端代码:
```
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888); // 创建服务器套接字,监听端口8888
System.out.println("服务器启动,等待客户端连接...");
Socket socket = serverSocket.accept(); // 等待客户端连接
System.out.println("客户端已连接:" + socket.getInetAddress());
InputStream is = socket.getInputStream();
FileOutputStream fos = new FileOutputStream("D:/file.txt"); // 接收的文件保存路径
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.flush();
fos.close();
is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2. 客户端代码:
```
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 8888); // 连接服务器
System.out.println("已连接服务器:" + socket.getInetAddress());
OutputStream os = socket.getOutputStream();
FileInputStream fis = new FileInputStream("D:/file.txt"); // 发送的文件路径
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
os.flush();
fis.close();
os.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上就是一个使用socket实现的简单的文件传输的java例子。服务器端监听8888端口,等待客户端连接,接收客户端发送的文件并保存到指定路径;客户端连接服务器,发送指定的文件给服务器端。通过这两个类的配合,即可实现文件在服务器和客户端之间的传输。