java如何传送
Java 数据传输方法
在 Java 中,数据传输可以通过多种方式实现,包括网络通信、文件读写、内存共享等。以下是几种常见的方法:
网络通信(Socket/HTTP)
使用 Socket 进行 TCP 通信:
// 服务端
ServerSocket serverSocket = new ServerSocket(8080);
Socket socket = serverSocket.accept();
InputStream input = socket.getInputStream();
OutputStream output = socket.getOutputStream();
// 客户端
Socket socket = new Socket("localhost", 8080);
OutputStream output = socket.getOutputStream();
InputStream input = socket.getInputStream();
使用 HttpURLConnection 进行 HTTP 请求:
URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
InputStream input = conn.getInputStream();
文件读写
使用 FileInputStream 和 FileOutputStream 进行文件传输:
// 写入文件
FileOutputStream fos = new FileOutputStream("output.txt");
fos.write("Hello, Java!".getBytes());
fos.close();
// 读取文件
FileInputStream fis = new FileInputStream("input.txt");
byte[] buffer = new byte[1024];
int bytesRead = fis.read(buffer);
String content = new String(buffer, 0, bytesRead);
fis.close();
内存共享
使用 ByteArrayInputStream 和 ByteArrayOutputStream 在内存中传输数据:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write("Data in memory".getBytes());
byte[] data = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(data);
int ch;
while ((ch = bais.read()) != -1) {
System.out.print((char) ch);
}
序列化与反序列化
使用 ObjectOutputStream 和 ObjectInputStream 传输对象:

// 序列化
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(new MyDataClass());
byte[] serializedData = bos.toByteArray();
// 反序列化
ByteArrayInputStream bis = new ByteArrayInputStream(serializedData);
ObjectInputStream ois = new ObjectInputStream(bis);
MyDataClass obj = (MyDataClass) ois.readObject();
以上方法可根据具体需求选择,网络通信适用于远程数据传输,文件读写适用于持久化存储,内存共享适用于高效临时传输,序列化适用于对象传输。






