Java 如何获取操作系统目录

Java 如何获取操作系统目录,java,windows,directory,Java,Windows,Directory,一、 我正在寻找一些方法,可以让我获得(在windows中)保存windows的目录(例如,在我的PC中,它将返回“C:\windows”) 我需要它,因为我必须调用这个方法 public static void openFileWithNotepad(String pathFileTxt) throws InterruptedException, IOException { if(System.getProperty("os.name").toUpperCase().contains(

一、 我正在寻找一些方法,可以让我获得(在windows中)保存windows的目录(例如,在我的PC中,它将返回“C:\windows”)

我需要它,因为我必须调用这个方法

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”与OS安装文件夹切换,以便在不同的PC上使用此程序

注:如果有人知道,我也想知道如何在UNIX OSs上使用此方法:)

谢谢你的理解

试试看

System.getenv("windir") 
对于windows

我不确定是否有其他操作系统。

试试看

System.getenv("windir") 
对于windows


我不确定是否有其他操作系统。

我认为这应该是可行的:

System.getenv("WINDIR")

另外,记事本在unix上并不常见,因此我不确定您将使用它……

我认为这应该可以:

System.getenv("WINDIR")
另外,记事本在unix上不太常见,所以我不确定您将使用它……

System.getenv(“WINDIR”)
可能适合您。

System.getenv(“WINDIR”)
可能适合您

Desktop.getDesktop().open(new File(pathFileTxt));
适用于任何支持Java 1.6+的操作系统上有关联程序的任何文件。有关详细信息,请参阅


适用于任何支持Java 1.6+的操作系统上有关联程序的任何文件。有关详细信息,请参阅

为什么不运行
notepad.exe
,让系统从它的路径中找到它呢?与其假设notepad是默认的编辑器,不如这样做:
Runtime.getRuntime().exec(“cmd/c start myfile.txt”)
将在用户的默认编辑器中打开文本文件。为什么不运行
notepad.exe
,让系统从其路径中找出它的位置呢?并且不假设notepad是默认编辑器,您可以这样做:
Runtime.getRuntime().exec(“cmd/c start myfile.txt”)将在用户的默认编辑器中打开文本文件。