java局域网传输文件

57次阅读
没有评论

共计 1867 个字符,预计需要花费 5 分钟才能阅读完成。

要在 Java 中实现局域网传输文件,可以使用 Socket 编程。以下是一个简单的示例代码:

  1. 创建一个 服务器 端,监听指定端口,接收文件。
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class FileServer {public static void main(String[] args) {
int port = 12345; // 指定监听的端口
try (ServerSocket serverSocket = new ServerSocket(port)) {System.out.println("Server is listening on port" + port);
while (true) {Socket socket = serverSocket.accept();
System.out.println("Accepted connection from client:" + socket.getInetAddress());
try (InputStream inputStream = socket.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream("received_file.txt")) {byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {fileOutputStream.write(buffer, 0, bytesRead);
}
System.out.println("File received successfully.");
} catch (IOException e) {System.out.println("Error receiving file:" + e.getMessage());
}
}
} catch (IOException e) {System.out.println("Server error:" + e.getMessage());
}
}
}
  1. 创建一个客户端,连接到服务器并发送文件。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class FileClient {public static void main(String[] args) {
String serverAddress = "192.168.1.100"; // 服务器的 IP 地址
int port = 12345; // 服务器监听的端口
String fileToSend = "file_to_send.txt"; // 要发送的文件名
try (Socket socket = new Socket(serverAddress, port);
FileInputStream fileInputStream = new FileInputStream(fileToSend);
OutputStream outputStream = socket.getOutputStream()) {byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileInputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);
}
System.out.println("File sent successfully.");
} catch (IOException e) {System.out.println("Client error:" + e.getMessage());
}
}
}

在运行时,先启动服务器端,然后再启动客户端。客户端会将指定的文件发送到服务器端,并在控制台上显示发送成功的消息。服务器端会接收文件并保存在同一目录下的 ”received_file.txt” 文件中。
请注意,上述示例代码仅仅演示了最基本的文件传输功能,并没有考虑到文件的安全性、进度更新、传输错误处理等方面的问题。在实际应用中,可能需要根据具体需求进行扩展和改进。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-20发表,共计1867字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)