黑马程序员技术交流社区

标题: 通过IO流操作文件时,文件的绝对路径中间用"\\"和"/"的区别 [打印本页]

作者: lancerjs    时间: 2014-7-14 23:25
标题: 通过IO流操作文件时,文件的绝对路径中间用"\\"和"/"的区别
本帖最后由 lancerjs 于 2014-7-14 23:28 编辑

刚才看张老师的视频第28讲,发现张老师再写文件的绝对路径时,文件夹之间是用"/"分隔的,而我平时写文件的绝对路径时都是用"\\"分隔的,想问一下,这两种分隔方式在实际开发中有什么不同,用哪种比较好?
张老师的代码
InputStream ips = ReflectTest2.class.getResourceAsStream("cn/itcast/day1/resources/config.properties");

我的代码
InputStream ips = ReflectTest2.class.getResourceAsStream("cn\\itcast\\day1\\resources\\config.properties");

作者: 黎志勇    时间: 2014-7-14 23:36
/是Linux等操作系统用的目录分隔符,而\则是微软的操作系统用的目录分隔符,但是\在编程中有个特别的作用,就是用于转义字符,所以在程序中使用\表示路径的时候,要\\这样来两发。
在开发中,两个都不建议用,用File类中的静态常量,File.separator(或者File.separatorChar,其实separator=""+separatorChar),这个会自动适配系统所用的目录分隔符。
作者: lancerjs    时间: 2014-7-14 23:39
黎志勇 发表于 2014-7-14 23:36
/是Linux等操作系统用的目录分隔符,而\则是微软的操作系统用的目录分隔符,但是\在编程中有个特别的作用, ...

解释的很清楚,谢谢了
作者: 黎志勇    时间: 2014-7-14 23:42
lancerjs 发表于 2014-7-14 23:39
解释的很清楚,谢谢了

补充一下,在WINDOWS平台下,/和\混用都行,但是在Linux中,只能用/。
作者: lancerjs    时间: 2014-7-14 23:56
黎志勇 发表于 2014-7-14 23:42
补充一下,在WINDOWS平台下,/和\混用都行,但是在Linux中,只能用/。

是的,刚才百度了一下,网上的解释和你的一致.
windows下\和/通用应该是JVM做了处理
作者: 黎志勇    时间: 2014-7-15 00:05
lancerjs 发表于 2014-7-14 23:56
是的,刚才百度了一下,网上的解释和你的一致.
windows下\和/通用应该是JVM做了处理 ...

好像反过来,是WINSOWS特别对分隔符做了处理,兼容了/,毕竟只有微软一家用\做分隔符的。
看图,混用都行。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2