Macos 如何让OS X识别驱动器号?

Macos 如何让OS X识别驱动器号?,macos,filesystems,java,Macos,Filesystems,Java,可能重复: 我知道。异端但我陷入了困境。我有很多使用绝对路径名的配置文件,这造成了OSX和Windows之间的不兼容性。如果我能让OSX(我打赌这两个系统中比较灵活的一个)将“Q:/foo/bar/bim.properties”识别为一个有效的绝对文件名,这将节省我在堆栈跟踪和配置文件中探索的时间 最后,我需要这段Java测试代码在运行时打印“SUCCESS!”: import java.io.*; class DriveLetterTest { static public void ma

可能重复:

我知道。异端但我陷入了困境。我有很多使用绝对路径名的配置文件,这造成了OSX和Windows之间的不兼容性。如果我能让OSX(我打赌这两个系统中比较灵活的一个)将“Q:/foo/bar/bim.properties”识别为一个有效的绝对文件名,这将节省我在堆栈跟踪和配置文件中探索的时间

最后,我需要这段Java测试代码在运行时打印“SUCCESS!”:

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!"); } } } 导入java.io.*; 等级测试{ 静态公共void main(字符串…参数){ 文件f=新文件(“S:”); if(f.isDirectory()){ System.out.println(“成功!”); } 否则{ System.out.println(“失败!”); } } }
有人知道如何做到这一点吗?

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

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

但是如果你坚持。。您只需检测操作系统版本,如果不是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:
 }

你明白了吧

@Oscar:请不要在问题上贴上“属于stackoverflow”的标签。重复:Windows和OSX有完全不同的目录布局。撇开卷和路径格式化问题不谈,Windows目录在OS X上指向任何有意义的地方吗?难道没有一个Java文件路径类可以做得更好吗?