【问题标题】:How to obtain OS directory如何获取操作系统目录
【发布时间】:2011-04-28 17:52:23
【问题描述】:

我正在寻找一些方法可以让我(在 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”和操作系统安装文件夹,以便在不同的电脑上使用这个程序。

P.S.:如果有人知道,我也想知道如何在 UNIX 操作系统上使用此方法:)

感谢您的理解!

【问题讨论】:

  • 你为什么不直接运行notepad.exe 让系统从它的路径中找到它?
  • 除了假设记事本是默认编辑器,您还可以这样做:Runtime.getRuntime().exec("cmd /c start myfile.txt");,它将在用户的默认编辑器中打开文本文件。

标签: java windows directory


【解决方案1】:
Desktop.getDesktop().open(new File(pathFileTxt));

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

【讨论】:

    【解决方案2】:

    我相信这应该可行:

    System.getenv("WINDIR")
    

    此外,记事本在 unix 上往往不存在,所以我不确定您将使用它...

    【讨论】:

      【解决方案3】:

      试试

      System.getenv("windir") 
      

      适用于窗户。

      我不确定其他操作系统。

      【讨论】:

        【解决方案4】:

        System.getenv("WINDIR") 可能适合你。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-07-16
          • 1970-01-01
          • 2013-11-11
          • 2011-09-02
          • 2010-10-08
          • 2021-05-15
          • 2012-04-18
          • 2016-04-18
          相关资源
          最近更新 更多