解决不同操作系统的路径分隔符问题

解决不同操作系统的路径分隔符问题

我们都知道windows操作系统和linux操作系统中的路径分隔符是不一样的,当我们直接使用绝对路径的时候,程序会报错误:No such file or diretory”的异常

File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用:
- separatorChar
- separator
- pathSeparatorChar
- pathSeparator

separatorChar

public static final char separatorChar

与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 ‘/’;在 Microsoft Windows 系统上,它为 ‘\’。

separator

public static final String separator

与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。

pathSeparatorChar

public static final char pathSeparatorChar

与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ‘:’;在 Microsoft Windows 系统上,它为 ‘;’。

pathSeparator

public static final String pathSeparator

与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 pathSeparatorChar。


例子

举个小例子:比如说在获取安卓设备中的sd卡的路径的时候这样写:

SDCardRoot = Environment.getExternalStorageDirectory()
                .getAbsolutePath()
                + File.separator;

你可能感兴趣的:(Android)