117.info
人生若只如初见

java离线文件传输怎么实现

要实现Java的离线文件传输,可以使用Socket编程来实现。下面是一个简单的离线文件传输的示例代码:

服务端代码:

import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
// 接收文件
InputStream in = socket.getInputStream();
FileOutputStream out = new FileOutputStream("file.txt");
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
in.close();
System.out.println("文件接收完成");
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

客户端代码:

import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8888);
// 发送文件
File file = new File("file.txt");
FileInputStream in = new FileInputStream(file);
OutputStream out = socket.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
in.close();
System.out.println("文件发送完成");
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

以上代码中,服务端通过ServerSocket监听指定的端口,客户端通过Socket连接到服务端。客户端将文件读取为字节流,通过Socket的输出流发送给服务端,服务端接收数据并写入文件。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fed4cAzsLBABfAlY.html

推荐文章

  • java容器类有哪些特点

    Java容器类具有以下特点: 可以存储多个元素:容器类可以存储多个元素,包括基本数据类型和对象类型。 动态调整大小:容器类可以根据需要动态调整大小,可以增加...

  • java驱动包如何添加进去

    要将Java驱动包添加到项目中,可以按照以下步骤进行操作: 打开你的Java项目,在项目的根目录下创建一个名为"lib"的文件夹(如果该文件夹不存在)。 将Java驱动包...

  • java不能实例化类型如何解决

    在Java中,有三种主要情况下不能实例化类型: 抽象类:抽象类是一种不能直接实例化的类。解决方法是创建一个继承自抽象类的具体子类,并实现抽象方法。 接口:接...

  • java怎么实现类的实例化

    在Java中,类的实例化可以通过以下两种方式来完成: 使用new关键字: ClassName obj = new ClassName(); 在这种方式下,new关键字用于创建类的一个新的实例。Cla...

  • android多线程怎么实现

    在Android中实现多线程的方式有以下几种: 使用Thread类:使用Thread类创建一个新的线程,重写run()方法来定义线程要执行的任务。 Thread thread = new Thread(n...

  • mysql语句怎么在表中添加图片

    在 MySQL 表中添加图片,通常是通过将图片的二进制数据存储在表的某个列中。以下是一个示例的 MySQL 语句来创建一个包含图片的表,并添加一条包含图片数据的记录...

  • plsql修改存储过程如何提交

    要修改一个PL/SQL存储过程,你可以按照以下步骤进行提交: 在一个文本编辑器中打开存储过程的源代码。 对需要修改的部分进行编辑和更改。 保存修改后的存储过程源...

  • plsql怎么执行存储过程

    在 PL/SQL 中执行存储过程的方法有以下几种: 使用 EXECUTE 或 EXECUTE IMMEDIATE 语句: EXECUTE 存储过程名;

    EXECUTE IMMEDIATE '存储过程名'; 使...