Frage

Wie kann ich die Position der hosts-Datei erhalten, wenn mit meiner Bewerbung auf unterschiedlichen Plattformen?

War es hilfreich?

Lösung

denken, dass Sie Ihre eigene Rolle würde hier fürchte ich, da dies ein ziemlich niedriges Niveau Systemfunktion ist, denke ich, dass es ein wenig über das, was Sie Java für Sie tun erwarten.

diesen Link verweist auf einige spezielle Optionen, die Sie festlegen können, verändern die Bindungsreihenfolge, glaube ich nicht, dass sie Ihnen sagen, wo die Host-Datei ist, aber man konnte konnte in und um diese Optionen untersuchen, um zu sehen, wenn Sie etwas anderes zu Hilfe finden Sie

Andere Tipps

Sie könnten die „os.name“ Systemeigenschaft verwenden das Betriebssystem zu bestimmen. Dann rufen Sie die Hosts-Datei je nachdem, wo jedes Betriebssystem speichert sie. Zum Beispiel:

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

Werfen Sie einen Blick auf den Host-Datei Standorte für jedes Betriebssystem und Version auf Wikipedia . Leider haben Sie Ihre eigene Logik ähnlich wie Michael Antwort zu implementieren:

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);
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top