📄 usehostlook.java
字号:
import java.net.*;import java.io.*;public class useHostLook{ //主程序 public static void main (String[] args) { //有参数 if (args.length > 0) { // 使用命令行 for (int i = 0; i < args.length; i++) { System.out.println(lookup(args[i])); } } //无参数 else { //读取系统输入 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter names and IP addresses. Enter \"exit\" to quit."); try { while (true) { //读取主机地址 String host = in.readLine(); //判断是否结束 if (host.equalsIgnoreCase("exit") || host.equalsIgnoreCase("quit")) { break; } System.out.println(lookup(host)); } } catch (IOException e) { System.err.println(e); } } } /* end main */ private static String lookup(String host) { InetAddress thisComputer; byte[] address; // 获得IP地址的字节 try { //建立InetAddress对象 thisComputer = InetAddress.getByName(host); address = thisComputer.getAddress(); } catch (UnknownHostException e) { return "Cannot find host " + host; } if (isHostname(host)) { // 打印IP地址 String dottedQuad = ""; for (int i = 0; i < address.length; i++) { int unsignedByte = address[i] < 0 ? address[i] + 256 : address[i]; dottedQuad += unsignedByte; if (i != address.length-1) dottedQuad += "."; } return dottedQuad; } else { // 这是一个IP地址 return thisComputer.getHostName(); } } // end lookup private static boolean isHostname(String host) { char[] ca = host.toCharArray(); // 如果看到一个字符既不是数字也不是标点 // host可能是一个主机名 for (int i = 0; i < ca.length; i++) { if (!Character.isDigit(ca[i])) { if (ca[i] != '.') return true; } } // 如果所有字符或者是一个数字或者是一个点号 // host就是一个IP地址 return false; } // end isHostName } // end useHostLook
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -