2010-11-23 41 views

回答

3

認爲你不得不在這裏推出自己的系統,因爲這是一個相當低級別的系統功能,我認爲它超出了你所期望的java的範圍。

This link指向一些特殊的選項,你可以設置改變綁定順序,我不認爲他們會告訴你主機文件在哪裏,但你可以調查這些選項和周圍,看看你是否可以找到其他的東西來幫助你

+0

謝謝,太糟糕了,沒有一個更簡單的方法。 – Arjan 2010-11-23 11:37:59

0

你可以使用「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 = //... 
} 
0

查看每個操作系統和版本的主機文件位置Wikipedia。不幸的是,你必須實現你自己的邏輯類似於邁克爾的答案:

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); 
    } 
}