java实现文件传输
时间: 2023-08-16 18:06:28 浏览: 45
Java可以通过Socket实现文件传输。下面是一个简单的示例代码:
服务端代码:
```java
public class FileServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
DataInputStream dis = new DataInputStream(socket.getInputStream());
String fileName = dis.readUTF();
long fileLength = dis.readLong();
FileOutputStream fos = new FileOutputStream("D:\\" + fileName);
byte[] bytes = new byte[1024];
int length;
while ((length = dis.read(bytes, 0, bytes.length)) != -1) {
fos.write(bytes, 0, length);
fos.flush();
}
System.out.println("文件接收成功");
fos.close();
dis.close();
socket.close();
serverSocket.close();
}
}
```
客户端代码:
```java
public class FileClient {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1", 8888);
String fileName = "test.txt";
File file = new File("D:\\" + fileName);
FileInputStream fis = new FileInputStream(file);
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.writeUTF(file.getName());
dos.flush();
dos.writeLong(file.length());
dos.flush();
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes, 0, bytes.length)) != -1) {
dos.write(bytes, 0, length);
dos.flush();
}
System.out.println("文件发送成功");
fis.close();
dos.close();
socket.close();
}
}
```
这是一个简单的示例代码,你可以根据需求进行修改和扩展。注意,这种方式仅适合传输小文件,如果要传输大文件,需要进行分割和组合,或者使用其他方式,如FTP等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)