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.
分享到:
相关推荐
Java IO流是Java编程语言中处理输入...通过深入学习和理解IO流,开发者可以更好地掌握数据的读取、写入和传输,提升程序的效率和功能。同时,熟悉相关工具和配置文件的使用也能帮助开发者在实际项目中更加得心应手。
### Java IO流学习笔记 #### 异常处理与IO流操作 在进行Java IO流的学习过程中,异常处理是非常重要的一个方面。本节将详细介绍如何在Java中处理异常,并结合具体的IO流操作进行说明。 #### 一、异常处理 在Java...
在"RapidIO学习笔记"中,我们可以深入探讨以下几个关键知识点: 1. **协议层次结构**:RapidIO协议分为物理层(PHY)、串行链路层(SLL)和传输层(TL)。物理层处理实际的信号传输,串行链路层负责将并行数据转换...
- 第10章 io:涉及io包的Interface、TextFile、BinaryFile、Pipe、Encoding、Buffer、Temp和Path。 - 第11章 strings:包含strconv、strings、template和regexp。 - 第12章 compress:涵盖zlib和zip库。 - 第13章 ...
"IO-黑马程序员Java学习笔记"这个压缩包包含了关于Java IO的详细教程,可以帮助我们深入理解这个关键领域。下面将根据提供的文件名来解析可能包含的知识点。 1. **IO.md**: 这个文件很可能是Markdown格式的学习...
本压缩包包含的“C语言学习笔记”是一份详尽的C语言学习资料,旨在帮助读者深入理解和掌握C语言的基本概念、语法结构以及实际应用技巧。 一、C语言基础 C语言的基础包括变量、数据类型、运算符、流程控制等。变量...
Go语言学习笔记.pdf 共174页 Go语言学习笔记.pdf 共174页是一本关于Go语言的详细学习笔记,涵盖了Go语言的基础知识、函数、数组、Maps、Structs、接口、并发、程序结构、标准库等方面的内容。本笔记共分为三大部分...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
"Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...
这份“非常详细JavaSE学习笔记.rar”压缩包显然是一份全面的Java SE学习资源,包含了从基础知识到高级特性的全方位讲解。下面,我们将详细探讨这份笔记可能涵盖的关键知识点。 1. **Java起源与环境搭建**:笔记可能...
"Java入门第二季学习笔记"可能深入到更复杂的主题,如异常处理、集合框架、IO流和线程。异常处理是Java中处理错误的重要机制,使得程序更加健壮。集合框架包括ArrayList、LinkedList、HashSet、HashMap等数据结构,...
自己总结,知识点全面,包含了,IO流,异常机制等学习笔记 含有代码实例可供参考,需要mybase打开 持续更新,需要的自行下载 附上本人写的学习博客 https://blog.csdn.net/qq_35577787/article/details/105088073
从IO口讲起__HCS12学习笔记涉及到的知识点相当丰富,包含有MCU(微控制器)的I/O(输入/输出)口的基本操作,寄存器配置,以及嵌入式系统编程的入门知识。下面将逐一详细解析这些知识点。 首先,标题提到了IO口,这...
### IO学习笔记:深入理解Java中的流操作 在Java编程中,输入/输出(I/O)操作是处理数据的关键部分,尤其是当涉及到文件读写时。本文档详细介绍了几种常用的流,包括`FileInputStream`、`FileOutputStream`、以及...
《HT66F70A学习笔记:IO端口及定时器详解》 在嵌入式系统设计中,单片机的IO端口是至关重要的组成部分,它负责与外部电路进行数据交换。本文将深入探讨HT66F70A单片机的IO端口控制及其引脚复用功能,并简要介绍其...
### F2812学习笔记知识点详述 #### 一、如何开始DSP的学习 - **基础知识了解**:首先,快速浏览整个书籍,了解DSP的基本概念和技术背景,掌握DSP的总体框架。 - **学习资料的选择**:选择合适的教材或参考资料非常...
林信良的Java学习笔记是一份珍贵的学习资源,尤其对于编程初学者和具有一定开发经验的程序员。这份笔记不仅详细阐述了Java编程语言的核心概念,而且还包括了深入的高级特性,从而为不同层次的读者提供了全面的学习...
### Java学习笔记——基础知识详解 #### 一、Java基本数据类型及内存占用 Java作为一种广泛使用的编程语言,其基础数据类型对于理解程序的行为至关重要。Java提供了八种基本数据类型,分为数值型、字符型和布尔型...