java window和linux FileInputStream读文件路径问题
这个文件放在src下tomcat部署后在web-info/classes下,怎么才能window和linux都能读取到这个文件...
这个文件放在src 下 tomcat部署后 在web-info/classes 下,怎么才能 window和linux 都能读取到这个文件
展开
1个回答
2016-07-11 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
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这个可以直接替换路径问题,不需要判断
“/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这个可以直接替换路径问题,不需要判断
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询