要检测端口号是否被占用,可以使用Java的Socket类来尝试建立一个Socket连接。如果能够成功建立连接,说明端口号已经被占用,否则表示端口号没有被占用。以下是一个简单的示例代码:
import java.io.IOException;
import java.net.Socket;
public class PortScanner {
public static void main(String[] args) {
int port = 8080; // 要检测的端口号
String host = "localhost"; // 主机名
try {
Socket socket = new Socket(host, port);
System.out.println("Port " + port + " is already in use");
socket.close();
} catch (IOException e) {
System.out.println("Port " + port + " is available");
}
}
}
在上述代码中,我们尝试在指定的主机和端口上建立一个Socket连接。如果连接成功,则输出端口号已经被占用的消息,否则输出端口号可用的消息。
请注意,这种方法只能检测指定主机上的端口是否被占用。如果你需要检测本地机器上的端口是否被占用,可以将主机名设为"localhost"或者"127.0.0.1"。如果需要检测远程机器上的端口是否被占用,需要将主机名设为对应的IP地址。