黑马程序员技术交流社区

标题: 关于路径分隔符"""" [打印本页]

作者: xkfxm    时间: 2013-8-5 17:34
标题: 关于路径分隔符""""
本帖最后由 xkfxm 于 2013-8-5 23:06 编辑

在学习IO的时候,创建一个流对象然后关联一个文件:
  1. FileReader fr = new FileReader("E:\\JAVA\\入学考试\\day19_IO流\\demo.txt");
复制代码
后面学习加强时:
  1. InputStream ips = ReflectTest2.class.getResourceAsStream("resources/config.properties");
复制代码
这两个地方表示路径时用的路径分隔符为什么不同?但是后来我试了下,“/”和“\”都能可以,
但是java中\有特殊用途就是转意,所以用“\”时要写成“\\”来表示字符\;
/和\的区别到底在哪里呢?查了点资料,说Windows或者说DOS在设计初期考虑不够周全,为了和Unix一些特征区别开来,将Unix中的正斜杠"/"分隔路径方 式改变成了反斜杠"\"
但是为什么我现在的windows系统可以用“/”来表示路径分隔符?
还有输入网页地址时为什么只能用“/”?我将网页地址中的“/”改成了“\”点连接时为什么自动变成“/”了?


作者: 佟都    时间: 2013-8-5 18:06
Java支持将斜线"/"当成平台无关的路径分隔符。

查阅Java API文档的File部分,其中有说明File.separatorChar属性,该属性用来描述与系统相关的默认名称分隔符。
此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。

所以,通过查阅文档,我们通常会使用'\\'这种方式,但"/"这种方式Java也支持;
同理,在浏览器中一般使用"/"来分隔地址,但浏览器也支持"\"(会自动转成"/")

作者: 心灵之歌    时间: 2013-8-5 18:59
“//”其中第一个/是转义字符,因为/是一个特殊 的字符,必须要转义!
作者: xkfxm    时间: 2013-8-5 19:07
佟都 发表于 2013-8-5 18:06
Java支持将斜线"/"当成平台无关的路径分隔符。

查阅Java API文档的File部分,其中有说明File.separatorCha ...

学习了,谢谢:)




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