質問

どうすれば場所を取得できますか ホストファイル さまざまなプラットフォームでアプリケーションを使用するときは?

役に立ちましたか?

解決

ここで自分で転がさなければならないと思います。これはかなり低いレベルのシステム機能であるため、Javaがあなたのためにできることを少し超えていると思います。

このリンク バインド順序を変更するために設定できる特別なオプションを指しています。ホストファイルがどこにあるかを伝えるとは思いませんが、これらのオプションとその周辺を調査して、他のものを見つけることができるかどうかを確認できます。助けます

他のヒント

「OS.Name」システムプロパティを使用して、オペレーティングシステムを決定できます。次に、各オペレーティングシステムが保存する場所に応じて、ホストファイルを取得します。例えば:

String osName = System.getProperty("os.name").toLowerCase();
File hostsFile;
if (osName.startsWith("mac os x")){
  hostFile = new File("/etc/hosts");
} else if (osName.contains("windows")){
  hostFile = //...
}

各オペレーティングシステムとバージョンのホストファイルの場所を見てみましょう ウィキペディア. 。残念ながら、マイケルの答えと同様の独自のロジックを実装する必要があります。

import java.awt.Desktop;
import java.io.File;

public class HostsFile
{
    public static void main(String[] args) throws Exception
    {
        String osName = System.getProperty("os.name");

        File hostsFile = null;

        if (osName.contains("Windows"))
        {
            hostsFile = new File(System.getenv("WinDir")
                    + "\\system32\\drivers\\etc\\hosts");
        }

        Desktop.getDesktop().open(hostsFile);
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top