- IO包学习笔记
- IO几乎都是实现序列化接口
- Common 根目录工具类阅读
- FileUtils 比较有学习价值 ,提供文件各种类型的操作,有点模拟操作系统
- 引用了大量的过滤器
- FileSystemUtil 后去硬盘可用空间,
- 执行CMD /-C C: 指令,获取结果Process,打开流获取返回结果,再截取
- 最后的空间显示.该类自动完成对操作系统类型的判断,具有计算可用空间
- 的功能
- LineIterator 可以对文件进行迭代行访问,实现依赖于
- BufferReader, 很安全的设计具体参考官方用例
- IOUtils提供以下操作
- * <li>closeQuietly - these methods close a stream ignoring nulls and exceptions
- * <li>toXxx/read - these methods read data from a stream
- * <li>write - these methods write data to a stream
- * <li>copy - these methods copy all the data from one stream to another
- * <li>contentEquals - these methods compare the content of two streams
- HexDump 封装了十六进制的转换
- IOCase
- * This class captures that difference, providing an enumeration to
- * control how filename comparisons should be performed. It also provides
- * methods that use the enumeration to perform comparisons.
- IOExceptionWithCause 解决Jvava 6 兼容问
- 字节元组操作~
- 过滤器 filter包
- IOFileFilter 继承 来自 java.io 的 FileFilter, FilenameFilter(这个姑且看作Java提供的规范, 是交由JVM去识别的, 与必须实现的接口规范)
- AbstractFileFilter 抽象基类 该抽象类本身实现 IOFileFilter ,有默认操作
- ConditionalFileFilter 接口 规定对内置过滤器列表的添加删除操作
- FileFilterUtils 工具 采用静态函数 提供各种过滤器的获取,工厂类
- 实现依赖于抽象 因为整个filter包地写的具体类都继承了AbstractFileFilter 和 实现了 FileFilterUtils
- Filter包的其他类 几乎都实现了 AbstractFileFilter ; 然后有些还实现了
- ConditionalFileFilter ,基于该接口的实现拥有 集成多个过滤器功能,实现
- 例如AndFilterFilter和OrFilterFilter主要采用对各个filter的accept函数
- 的调用。
- 注意:其中有个Delegate的代理过滤器类 ,其实也就一个代理模式。
- 还有个WildsCard 实现了通配符的功能
- IOCase 提供1大小写 2系统级 的字符串比较,判断操作
- 整个设计 所见即所得,一些需要的字符串来判断的操作,全部封装为类
- ,采用比较规范的命名
- 工具包FilenameUtils类
- 提供对文件名的各种操作,支持windows和linuxs目录名,是一个解决了兼容问题
- 的工具类,希望有机会能有用到他。
- Comparator :都实现了Comparator接口 和 Serializable 接口
- DefaultFileComparator 默认文件比较器
- ExtensionFileComparator 扩展名比较器
- LastModifiedFileComparator 用file.getLastModified方法得到文件修改日期做
- 比较
- NameFileComparator 比较文件名字~ 引用IOCase工具类进行比较
- PathFileComparator 比较文件路径 依然采用有大小写控制比较功能的IOCase
- ReverseComparator 基于代理模式,通过调用函数对象顺序进行结果反转,需要
- 用其它非代理比较器,进行构造(代理模式的特点)
- SizeFileComparator 文件大小比较器,引用FileUitls进行目录大小获取
- 目录 文件...标志sumDirectoryContents标志 在输入如果是目录的情况下
- 是否计算目录券大小
- Input 包:]
- -- 主要 -- ProxyInputStream 代理基类 - 字节流
- -- 主要 -- ProxyReader代理基类 - 字符流 与上面差不多~
- 代理:
- CountInputStream 代理一个输入流,并随时可以读取已经读取的大小
- 这在上传文件反馈用户上传进度的时候蛮有用的
- AutoCloseInputStream 当文件读完时会自动清理资源 引用CloseInputStream
- 这个实现不明白是怎么回事
- CloseShieldInputStream close()设置基类inputstream对象为 CloseInputStream 这样的实现不知道什么回事
- 纯继承
- ClosedInputStream read()方法总返回一,返回结束标志
- TeeInputStream 在读的同时,复制输出
- InputStream proxy that transparently writes a copy of all bytes read
- * from the proxied stream to a given OutputStream
- NullInputSream 模拟实现,不知道
- A functional, light weight {@link InputStream} that emulates
- * a stream of a specified size.
Commons Io 包 学习笔记~
最新推荐文章于 2024-07-14 08:39:51 发布