使用 Java 通过 Socket 接收数据5


在 Java 中,使用 Socket 进行网络通信时,接收数据是一个常见且重要的任务。Socket 类提供了多种方法来从连接的对端接收数据。

主要的方法有:
InputStream getInputStream():返回一个输入流,用于从 Socket 中读取字节。
Reader getReader():返回一个读取字符的 Reader,其中包含从 Socket 中接收的字节的解码结果。
DataInputStream getInputStream():返回一个可以读取基本数据类型(如 int、double 等)的 DataInputStream。

下面是一个使用 getInputStream() 方法接收数据的 Java 示例:
import .*;
import .*;
public class SocketReceiveData {
public static void main(String[] args) throws IOException {
// 创建一个 Socket 对象,并连接到服务器
Socket socket = new Socket("localhost", 8080);
// 获取输入流
InputStream inputStream = ();
// 从输入流中读取数据
byte[] buffer = new byte[1024];
int bytesRead = (buffer);
// 将字节数据转换为字符串
String data = new String(buffer, 0, bytesRead);
// 打印收到的数据
("收到的数据:" + data);
// 关闭 Socket 连接
();
}
}

在这个示例中,getInputStream() 方法返回一个 InputStream 对象,该对象用于从 Socket 中读取字节数据。然后,该示例使用 read() 方法从输入流中读取字节,并将其存储在缓冲区中。最后,将缓冲区中的字节转换为字符串,并将其打印出来。

另外,还可以使用 getReader() 方法接收数据。它返回一个 Reader 对象,可以读取字符而不是字节。这对于从 Socket 中接收文本数据很有用。

getDataInputStream() 方法返回一个 DataInputStream 对象,可以读取基本数据类型。这对于从 Socket 中接收结构化数据很有用,例如 int、double 等。

请注意,在使用 Socket 接收数据时,必须先调用 connect() 方法来建立连接。另外,必须在完成后关闭 Socket 连接,以释放系统资源。

2024-11-03


上一篇:Java 返回对象的方法

下一篇:Java 代码行数统计:全面指南