码迷,mamicode.com
首页 > 其他好文 > 详细

io--最后一次

时间:2014-07-28 23:37:24      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   color   使用   strong   文件   

       每一次写流,都要看一边io的api,不是叔不会,只是记不住....希望这是最后一次

File类      在我映像里我一直通过File来创建文件...作为面向对象的程序猿,我认为File代表文件,而还有个FilePath之类的生物代表File的路径
1.File与FilePath
稍微看下api我就知道我错了,but why?难道我面向错了?迷茫的时候上度娘(java File),第一篇看见如下栗子

bubuko.com,布布扣
次奥,你逗我,叔赖好知道后缀只是给人看的,程序是靠协议/解析来决定读取的生物种族的,比如:
bubuko.com,布布扣这或是图片(至少博客园的上传不是通过后缀来判断的)bubuko.com,布布扣这货是快捷方式bubuko.com,布布扣这货是pdf
或许到这个时候你就跟叔一样,秒懂,来个简单的测试
bubuko.com,布布扣
原来如此,所以我们可以假设本身操作系统就没法再路径上区分文件,那File类与FilePath类就很难或者没有必要再进行区分了,一个Path既可以代表File也可以代表FilePath--

2.创建File与api
       看到创建的时候,我又秒懂了,他们在构造函数中区分File+FilePath或者相对什么路径+其他路径(就是这么个意思),只有3点有意思
1.File提供的parent路径名字符串和child非常爽,下次使用的时候可以吓小伙伴们一跳,要知道,他们还是new File(parent+path),来实现的
2.File使用parent路径名字符串和child来构造,那么这个File的getParent() 是什么呢?  试试吧,简单的名字重复而已,没太大歧义,跟其他的一样
3.isAbsolute很有意思,根据判断方式比较独特,其他的类似,这些东西可以拿来虐菜

new File("F:").isAbsolute():false
new File("F:\\").isAbsolute():true

3.特殊字符
      叔在window下创建文件的时候多次被提醒特殊字符不可作为文件名...不过通过程序的话,说不定就可以,反射什么的跟这个不是很像吗?(破坏封装)而且双引号,转意符的存在应该也不会再有歧义什么的了,但是我失败了,你都不用操心绕过判断什么的,直接不让创建....
      首先假设可视化操作系统还是得靠命令执行,或许通过cmd创建几个文件基本上就确定这些特殊字符
1.\     :路径分割符...不是转义符,如果真能转移,我觉得就能加入特殊字符了
2./     :同上...传说中的容错写法
3.*  ? :通配符,window右上角的搜索就可以用这个,无解
4.<>| :重定向输入和输出数据流的可以开头的操作符...叔一天毛都没干,光在cmd上玩这个,弄完感觉智商被压制了....
5.:     :window下盘符关键字(前面说有意思就在这,window下绝对为毛路径不用:来决定?反正不咋用的方法,以后慢慢理解,至于linux,你懂得)
6."     :允许空格命名的后遗症,换句话说,空格和上面的特殊服都可以阻止/改变命令,但我们需要空格不能时...

     这些应该算操作系统的解析,或许搞个操作系统就可以完全无视这些逗比了

io--最后一次,布布扣,bubuko.com

io--最后一次

标签:style   blog   http   java   color   使用   strong   文件   

原文地址:http://www.cnblogs.com/liuCy/p/3873255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!