您的位置:首页 > 运维架构 > Linux

Linux和window下的文件路径问题

2016-11-25 18:29 246 查看
Linux系统下的文件夹路径和window下的不一样,windows下就需要写成“\\photos"因为java会把第一个"\"当成转义字符给”吃了“。但在linux下就是 
  “/photos”呵呵,是不是很郁闷阿。

所以你的if (myFile.newFolder(path+"\\photos"))就应该写成if
(myFile.newFolder(path+"/photos"))


以此类推。 

  public static final String FILE_SEPARATOR = System.getProperties()。getProperty("file.separator"); 
  文件分隔符(在 UNIX 系统中是“/”),window 是"\" 
    为了程序的可移植性,使用File.separator来写路径。 
    File(String pathname) 
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 
public static final String separator 
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。
public static final char separatorChar 
与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。 
注意: 
路径名字符串与抽象路径名之间的转换与系统有关。将抽象路径名转换为路径名字符串时,每个名称与下一个名称之间用一个默认分隔符 隔开。默认名称分隔符由系统属性 file.separator 定义,可通过此类的公共静态字段 separator 和 separatorChar 使其可用。将路径名字符串转换为抽象路径名时,可以使用默认名称分隔符或者底层系统支持的任何其他名称分隔符来分隔其中的名称

可以写一个判断  选择用什么分隔符截取

    $leng = strpos($dir,"/");

            if($leng===false)

            {

            $leng = strpos($dir,"\\");

            }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: