A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘焕新 中级黑马   /  2013-4-2 00:08  /  1895 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘焕新 于 2013-4-2 19:52 编辑

在Java程序中,文件路径的分隔符:"//"、"/"和"\\",用哪个合适?随便用,还是应该注意些什么?
我发现URL里的路径是"//"开头,后面是"/",比如:http://bbs.itheima.com/,这个跟文件的路径有什么关系吗?
另外我想顺便问下,这个\n和\r到底有什么区别,我现在还搞不清。哪位知道,麻烦扫盲一下,O(∩_∩)O谢谢!

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

8 个回复

倒序浏览
最好别混用,很麻烦,选择一个一直用就好了
回复 使用道具 举报
\n:换行。,在Windows里用\r\n,在liux系统里,换行用\n。而在Mac下和 dos里直接用\n
\r :相当于按下回车键
路径分隔符在windows下是 \ ,//,或File.separator;在LInux下是 /。
如果你只在windows环境下用,前三种都可以;若考虑在linux下也可以正常运行,建议使用File.separator.
回复 使用道具 举报
路径分隔符在windows下是 \ ,//,或File.separator;在LInux下是 /。
如果你只在windows环境下用,前三种都可以;若考虑在linux下也可以正常运行,建议使用File.separator.
另外,说下换行符:\n:换行。在Windows里用\r\n,换行用\n。在liux系统里,在Mac下和 dos里直接用\n

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
当你在new File中添写路径时,要注意,要作用\\来区分。因为转意字符的原因。
回复 使用道具 举报
邵彩华 发表于 2013-4-2 00:40
路径分隔符在windows下是 \ ,//,或File.separator;在LInux下是 /。
如果你只在windows环境下用,前三种 ...

对,还有个跨平台的File.separator。
我发现URL里的路径是"//",这个跟文件路径有什么区别吗?
另外我想问下,这个\n和\r到底有什么区别,我现在还搞不清。
回复 使用道具 举报
通过查资料,我现在终于弄清\n和\r的区别和来由了:
\n:new line  换行。
\r:return  回车。
这种标识源于早期打字机的打印头的返回标识和纸张的换行表示。
早期打字机的工作原理:
打字机的打印头是从左往右移动打印的,当打印完一行或者要结束一行的打印时,打印头就要归位,返回最左边,即:return
同时,被打印的纸张要往下移动一行,以便进行新一行的打印,即:next line
后来诞生了计算机及其Windows操作系统,这种控制打字机的换行操作的标记就被Windows用\r和\n组合表示换行符。
再后来,随着打字机与计算机技术的发展,已不必用两个字符表示换行操作了,但这种标识还是被Windows保留了下来。
回复 使用道具 举报
本帖最后由 邓宫财 于 2013-4-2 16:11 编辑

关于"\\"&"/"的问题,
    在liunx或者有的系统下使用的是"/"
    在window下是"\"因为java中"\"是转义字符所以要得到"\"需要"\\"转义一下就行了。这个是常用的。
如果不能没有理解,就可以直接使用File中的字段,File.separatorChar 系统内部会获取电脑系统的信息会根据系统来判断使用"/"还是"\\",这是跨平台的字段,所以就不用你操心了。

关于web中ServletContext.getRealPath()方法使用的比较多。也比较重要。web必用。
ClassLoader.getResourceAsStream()获取资源方法也跟路径很大关系。使用频率也是相当高,框架必用,可以了解一下。
关于
'\r'是回车
'\n'是换行。
在liunx下'\n'就可以作为换行了,但是windows下需要'\r''\n'同时使用。
如果使用io处理,BufferedWriter.newLine()方法就是跨平台的换行。
这个在处理io中必须要知道'\r''\n'的区别。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
其实这个问题,如果是在java开发中基本不会这么使用,大家都知道
java最大的特点就是跨平台性,因为在windows下和linux下路径分割符号是不
一样的,为了解决这个问题在java开发中一般都使用File.separetor来代替这个
分隔符
\r\n连起来使用就是我们使用键盘上的大的Enter键作用是一样的,
\r\n在java里面占用的是俩个字节的大小,
我们一般自己在做实验的时候都喜欢,直接写d:\\file.txt,在java中
一个\表示转义符,俩个\\责表示路径,
所以在实际开发中一般都是用File.separetor
回复 使用道具 举报
其实这个问题,如果是在java开发中基本不会这么使用,大家都知道
java最大的特点就是跨平台性,因为在windows下和linux下路径分割符号是不
一样的,为了解决这个问题在java开发中一般都使用File.separetor来代替这个
分隔符
\r\n连起来使用就是我们使用键盘上的大的Enter键作用是一样的,
\r\n在java里面占用的是俩个字节的大小,
我们一般自己在做实验的时候都喜欢,直接写d:\\file.txt,在java中
一个\表示转义符,俩个\\责表示路径,
所以在实际开发中一般都是用File.separetor

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马