2011-04-28 106 views
0

I,M寻找一些方法,可以让我获得(在Windows),其中窗户被保存(例如,在我的电脑的目录将返回“C:\ WINDOWS”。如何获取OS目录

我需要它,因为我要调用此方法

public static void openFileWithNotepad(String pathFileTxt) throws InterruptedException, IOException 
{ 
    if(System.getProperty("os.name").toUpperCase().contains("Windows".toUpperCase())) 
    { 
      String program = "C:/WINDOWS/system32/notepad.exe"; 
      Process p = Runtime.getRuntime().exec(program + " " + pathFileTxt); 
    } 
... 
} 

我想用一些方法来切换“C:/ WINDOWS”与操作系统的安装文件夹,以便使用该程序在不同的PC

PS:如果有人知道,我也想知道如何在UNIX操作系统上使用这种方法:)

谢谢理解!

+2

为什么不直接运行'notepad.exe'让系统找到从路径中找到它的地方? – 2011-04-28 17:56:14

+2

而不是假设记事本是默认编辑器,你可以这样做:'Runtime.getRuntime().exec(“cmd/c start myfile.txt”);'这将在用户的默认编辑器中打开文本文件。 – 2011-04-28 18:00:20

回答

2
Desktop.getDesktop().open(new File(pathFileTxt)); 

适用于任何支持Java 1.6及以上版本的操作系统的相关程序的任何文件。详情请参阅Desktop.open(File)

+0

非常感谢! – Wallkan 2011-04-28 19:32:01

+0

_Much_更便携。 – trashgod 2011-04-30 04:16:51

0

尝试

System.getenv("windir") 

的窗口。

我不确定其他操作系统。

1

我认为这应该工作:

System.getenv("WINDIR") 

也,记事本不倾向于在UNIX上存在的,所以我不知道你在哪里与去......

0

System.getenv("WINDIR")可能为你工作。