代码之家  ›  专栏  ›  技术社区  ›  chris

如何使OS X识别驱动器号?[复制品]

  •  0
  • chris  · 技术社区  · 15 年前

    可能重复:
    How can I make OS X recognize drive letters?

    我知道。异端邪说但我现在很为难。我有很多使用绝对路径名的配置文件,这造成了os x和windows之间的不兼容。如果我能让OSX(我打赌这两个操作系统中比较灵活的一个)将“q:/foo/bar/bim.properties”识别为一个有效的绝对文件名,它将拯救我 在堆栈跟踪和配置文件中进行的工作。

    最后,我需要这一点的Java测试代码打印“成功!”当它运行时:

    import java.io.*;
    class DriveLetterTest {
      static public void main(String... args) {
        File f = new File("S:");
        if (f.isDirectory()) {
          System.out.println("SUCCESS!");
        }
        else {
          System.out.println("FAIL!");
        }
      }
    }
    

    有人知道怎么做吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   OscarRyz    15 年前

    如果您不愿意更改每个操作系统的配置文件,那么它们首先用于什么?

    每个安装都应该有自己的配置文件集,并相应地使用它。

    但如果你坚持…您只需检测操作系统版本,如果不是Windows,请忽略字母:

    大致如下:

    boolean isWindows = System.getProperty("os.name")
                         .toLowerCase().contains("windows"); 
    
    String folder = "S:";
    if( isWindows && folder.matches("\\w:") {
         folder = "/";
     } else if( isWindows && folder.matches("\\w:.+)) {
         folder = folder.substring(2);// ignoring the first two letters S:
     }
    

    你明白了

    推荐文章