黑马程序员技术交流社区
标题:
关于路径分隔符的问题
[打印本页]
作者:
刘焕新
时间:
2013-4-2 00:08
标题:
关于路径分隔符的问题
本帖最后由 刘焕新 于 2013-4-2 19:52 编辑
在Java程序中,文件路径的分隔符:"//"、"/"和"\\",用哪个合适?随便用,还是应该注意些什么?
我发现URL里的路径是"//"开头,后面是"/",比如:
http://bbs.itheima.com/
,这个跟文件的路径有什么关系吗?
另外我想顺便问下,这个\n和\r到底有什么区别,我现在还搞不清。哪位知道,麻烦扫盲一下,O(∩_∩)O谢谢!
作者:
杨玉辉
时间:
2013-4-2 00:25
最好别混用,很麻烦,选择一个一直用就好了
作者:
邵彩华
时间:
2013-4-2 00:36
\n:换行。,在Windows里用\r\n,在liux系统里,换行用\n。而在Mac下和 dos里直接用\n
\r :相当于按下回车键
路径分隔符在windows下是 \ ,//,或File.separator;在LInux下是 /。
如果你只在windows环境下用,前三种都可以;若考虑在linux下也可以正常运行,建议使用File.separator.
作者:
邵彩华
时间:
2013-4-2 00:40
路径分隔符在windows下是 \ ,//,或File.separator;在LInux下是 /。
如果你只在windows环境下用,前三种都可以;若考虑在linux下也可以正常运行,建议使用File.separator.
另外,说下换行符:\n:换行。在Windows里用\r\n,换行用\n。在liux系统里,在Mac下和 dos里直接用\n
作者:
刘策
时间:
2013-4-2 07:32
当你在new File中添写路径时,要注意,要作用\\来区分。因为转意字符的原因。
作者:
刘焕新
时间:
2013-4-2 10:30
邵彩华 发表于 2013-4-2 00:40
路径分隔符在windows下是 \ ,//,或File.separator;在LInux下是 /。
如果你只在windows环境下用,前三种 ...
对,还有个跨平台的File.separator。
我发现URL里的路径是"//",这个跟文件路径有什么区别吗?
另外我想问下,这个\n和\r到底有什么区别,我现在还搞不清。
作者:
刘焕新
时间:
2013-4-2 14:50
通过查资料,我现在终于弄清\n和\r的区别和来由了:
\n:new line 换行。
\r:return 回车。
这种标识源于早期打字机的打印头的返回标识和纸张的换行表示。
早期打字机的工作原理:
打字机的
打印头
是从左往右移动打印的,当打印完一行或者要结束一行的打印时,打印头就要归位,返回最左边,即:return
同时,被打印的
纸张
要往下移动一行,以便进行新一行的打印,即:next line
后来诞生了计算机及其Windows操作系统,这种控制打字机的换行操作的标记就被Windows用\r和\n组合表示换行符。
再后来,随着打字机与计算机技术的发展,已不必用两个字符表示换行操作了,但这种标识还是被Windows保留了下来。
作者:
随便
时间:
2013-4-2 16:03
本帖最后由 邓宫财 于 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'的区别。
作者:
庞立森
时间:
2013-4-2 17:39
其实这个问题,如果是在java开发中基本不会这么使用,大家都知道
java最大的特点就是跨平台性,因为在windows下和linux下路径分割符号是不
一样的,为了解决这个问题在java开发中一般都使用File.separetor来代替这个
分隔符
\r\n连起来使用就是我们使用键盘上的大的Enter键作用是一样的,
\r\n在java里面占用的是俩个字节的大小,
我们一般自己在做实验的时候都喜欢,直接写d:\\file.txt,在java中
一个\表示转义符,俩个\\责表示路径,
所以在实际开发中一般都是用File.separetor
作者:
庞立森
时间:
2013-4-2 17:39
其实这个问题,如果是在java开发中基本不会这么使用,大家都知道
java最大的特点就是跨平台性,因为在windows下和linux下路径分割符号是不
一样的,为了解决这个问题在java开发中一般都使用File.separetor来代替这个
分隔符
\r\n连起来使用就是我们使用键盘上的大的Enter键作用是一样的,
\r\n在java里面占用的是俩个字节的大小,
我们一般自己在做实验的时候都喜欢,直接写d:\\file.txt,在java中
一个\表示转义符,俩个\\责表示路径,
所以在实际开发中一般都是用File.separetor
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2