发布网友 发布时间:2022-04-22 10:50
共1个回答
热心网友 时间:2023-06-26 03:23
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 使其可用。将路径名字符串转换为抽象路径名时,可以使用默认名称分隔符或者底层系统支持的任何其他名称分隔符来分隔其中的名称
System.getProperty("user.dir") 获取工程路径名
System.getProperty("file.separator").equals("/") 判断linux的方法。
用File.separator这个可以直接替换路径问题,不需要判断