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