配置win和linux的路径

时间:2010-09-27 11:26:05

标签: java

Windows和Linux环境的独立应用程序

当我使用Windows环境时,文件系统将类似于c:\ file \ abc \ xyz \ sample.txt 在linux环境中,文件系统为/home/qa/file/abc/xyz/sample.txt

abc和xyz是取决于用户点击的文件夹的名称。 (abc是国家代码文件夹)& (xyz是语言文件夹)

要构建路径,我使用

之类的属性

base_path:/ home / test / file /或c:\ test \ file \ file_name:sample.txt

在程序中构建路径是:

String path = base_path + country_code +“/”+ language_name +“/”+ file_name(Linux的“/”)
字符串路径= base_path + country_code +“\”+ language_name +“\”+ file_name(Windows的“\”)

Linux示例:

/home/test/file/spain/es/sample.txt

Windows示例:

C:\测试\文件\意大利\它\ sample.txt的

每次用户点击时,

country_code和language_name都会有所不同。

每当我用不同的环境测试应用程序时,我将文件分隔符更改为“/”或“\”(windows和linux)。如何在不更改文件分隔符的情况下执行代码。

(如果我错过了什么,告诉我我会更新相同的) 谢谢你。

4 个答案:

答案 0 :(得分:2)

您可以从java.io.File.separatorChar(public static final char)获取分隔符   或包装为String java.io.File.separator(public static final String) - “系统相关的默认名称 - 分隔符,为方便起见,表示为字符串”。 请参阅:http://docs.oracle.com/javase/6/docs/api/java/io/File.html#separator

答案 1 :(得分:0)

Windows接受/作为有效的文件分隔符,因此无需来回更改它,只需在任何地方使用正斜杠。

请注意,Windows甚至接受混合分隔符字符串作为有效路径,例如“C:\ test \ file \ italy / it / sample.txt”将起作用。

答案 2 :(得分:0)

Java具有可以查询文件分隔符的系统属性。如果您使用System.getProperty("file.separator"),它将返回“\”或“/”,具体取决于您运行的平台。或者使用File.separator,这也是系统相关的默认文件分隔符。

答案 3 :(得分:0)

尝试System.getProperies中的内容,如下所示:

public class So3803335 {
    public static void main(String[] arguments) {
        System.out.println("java home dir: "+System.getProperty("java.home"));
        System.out.println("user dir: "+System.getProperty("user.dir"));
        System.out.println("user home: "+System.getProperty("user.home"));
        System.out.println("file separator: "+System.getProperty("file.separator"));
    }
}

在我的防风盒上,它说:

java home dir: C:\Program Files\Java\jdk1.6.0_20\jre
user dir: D:\home\ray\dev\stsworkspace\rtec
user home: C:\Documents and Settings\ray
file separator: \

在我的linux盒子上它说:

java home dir: /usr/lib/jvm/java-6-sun-1.6.0.17/jre
user dir: /home/ray
user home: /home/ray
file separator: /