Java でホスト名を取得する
 
このチュートリアルでは、JavaAPI を使用して IP アドレスとホスト名を取得する方法を見ていきます。
Java で InetAddress を使用してホスト名を取得する
    
パッケージ java.net には、現在のマシンの IP アドレスとホスト名を処理するクラス InetAddress が含まれています。
同じクラスの getLocalHost() 関数でシステムの IP アドレスを収集することにより、java.net パッケージの InetAddress クラスの getHostName() を使用して Windows コンピューターのシステム名を取得できます。
セキュリティマネージャがローカルホストのアドレスの取得を許可しない場合、getHostName() は IP アドレスのテキスト表現を配信します。
InetAddress クラスの getLocalHost() メソッドと getByName (String host) メソッドは、それぞれローカルホストとリモートホストを処理します。
構文:
InetAddress inetadd = InetAddress.getLocalHost();
この関数は、Java プログラムが実行されている inetadd ローカルサーバーの InetAddress のインスタンスを作成します。その結果、ローカルホストのアドレスが返されます。
これは、システムからホストの名前を取得し、それを InetAddress に変換することによって行われます。
Java で InetAddress クラスを使用してホスト名を取得する方法を示す
まず、次のライブラリをインポートします。
java.net.InetAddress
簡単な例を使用して、Java でホスト名を取得する方法を示します。
InetAddress inetadd = InetAddress.getLocalHost();
InetAddress メソッドを使用して、Java プログラムが動作する inetadd という名前のローカルサーバー用の InetAddress のインスタンスを作成します。
String name = inetadd.getHostName();
getHostName() メソッドを使用してホスト名を取得し、name という名前の文字列型変数に保存します。
String address = inetadd.getHostAddress();
その後、getHostAddress() メソッドを使用して、ホストアドレスを取得し、address という名前の文字列型変数に保存します。これでローカルまたはサイトのホスト名をアドレスに解決できなかった場合、UnknownHostException がスローされます。
ソースコード:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class HostnameExample {
  public static void main(String[] args) {
    try {
      InetAddress inetadd = InetAddress.getLocalHost();
      String name = inetadd.getHostName();
      String address = inetadd.getHostAddress();
      System.out.println("HostName is : " + name);
      System.out.println("Host Address is: " + address);
    } catch (UnknownHostException u) {
    }
  }
}
出力:
$javac HostnameExample.java
$java -Xmx128M -Xms16M HostnameExample
HostName is : f97aedb6192a
Host Address is: 127.0.0.2
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn