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文件路径类可以做得更好吗?