我尝试与网络服务器建立连接,并检查是否可以从我的计算机访问它。问题是当我尝试使用InetAddress.getByName(地址)时出现编译错误:
Error:(20, 50) java: cannot find symbol
symbol: class getByName
location: class java.net.InetAddress
这很奇怪,因为当我开始输入这个方法名称时,IntelliJ IDEA会向我显示一个带有名称建议列表的提示,所以我猜错了PATH变量没有问题。当我完成键入方法名称时,它立即用红色绘制并说“#34;无法按名称解析符号"”。同时,InetAddress.isReachible(100)也没有这样的问题,即使考虑到它放在同一个类中。实际上,我只能使用公共静态方法来解决问题,例如InetAddress.getByAddress(),InetAddress.getLoopbackAddress()等。我认为我可能会使用旧的java版本,所以我在windows命令行中输入了java -version,这就是它所说的:
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
这是我的代码:
String url = "http://reddit.com";
byte [] address = url.getBytes();
InetAddress inetAddress = new InetAddress.getByName(address);
try {
inetAddress.isReachable(100);
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:5)
删除新的。你的代码应该是:
InetAddress inetAddress = InetAddress.getByName(address);