Вопрос

Как я могу получить местоположение Hosts Файл При использовании мое приложение на разных платформах?

Это было полезно?

Решение

Думаю, что вам придется катиться здесь, я боюсь, так как это довольно низкоуровневая система функции, я думаю, что это немного за пределами того, что вы могли бы ожидать, что Java сделать для вас.

Эта ссылка Указывает на некоторые специальные варианты, которые вы можете установить, чтобы изменить заказ привязки, я не думаю, что они скажут вам, где есть файл хостов, но вы могли бы исследовать и вокруг этих вариантов, чтобы увидеть, что вы найдете что-нибудь еще помочь тебе

Другие советы

Вы можете использовать системную систему «OS.Name» для определения операционной системы. Затем извлеките файл Hosts в зависимости от того, где каждая операционная система сохраняет ее. Например:

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 = //...
}

Посмотрите на места файлов Hosts для каждой операционной системы и версии на Википедия. Отказ К сожалению, вам придется реализовать свою собственную логику, похожие на ответ Майкла:

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