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.
分享到:
相关推荐
例如,Apache Commons IO库提供了许多便利的工具类,简化了常见的IO操作,如FileUtils.copyFile()方法用于便捷地复制文件。 在提供的压缩包文件名称列表中,我们看到多个以".dic"结尾的文件,这通常是字典文件,...
林信良的Java学习笔记是对于初学者和有经验的开发者来说宝贵的资源,它涵盖了从基础概念到高级特性的全面讲解。这份笔记可能包括了类、对象、接口、继承、多态等核心概念,以及异常处理、集合框架、IO流、多线程、...
在阅读《Jakarta Commons Cookbook》时,你可以学习如何有效地利用这些组件来提升你的Java项目。例如,了解如何使用` FileUtils.copyFile()`方法复制文件,或通过` StringUtils.join()`将数组元素连接成字符串。此外...
【Jakarta Commons笔记】 Jakarta Commons是Apache软件基金会的一个项目集合,它提供了许多Java开发中常用的工具类和组件。这个项目旨在减少重复的工作,通过共享和重用代码,提高开发效率。Jakarta Commons包含了...
【标题】"dwr3 学习笔记<一>" 涉及的主要知识点是Direct Web Remoting (DWR)框架的第三版。DWR是一种Java库,它允许Web应用程序在客户端(通常是JavaScript)和服务器端(Java)之间进行实时通信,从而实现动态的、...
"java校招学习笔记"显然是针对应届毕业生或求职者准备的,旨在帮助他们掌握Java的基础知识和校招面试中常见的技术问题。这份笔记可能包含了从基础概念到进阶主题的全面概述,以提高求职者的竞争力。 首先,Java的...
在深入探讨Struts2的学习笔记之前,先来理解它的核心概念。 **1. Struts2依赖的JAR包** Struts2的运行离不开一系列的依赖库,包括: - `struts2-core-2.1.6.jar`:这是Struts2的核心库,包含了Struts2框架的主要...
- commons-io的jar包用于文件上传和下载 - 复制struts.xml至项目src目录 2. **配置struts.xml** - 注释掉多余配置 3. **创建HelloStruts2_1.jsp页面** - 修改jsp文件的默认编码属性:Window > Preferences > Web...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
例如,IO学习笔记中可能详细介绍了如何使用BufferedReader和BufferedOutputStream等IO流来配合FTPClient进行文件的读写操作。通过熟练掌握这些工具类,开发者可以提高代码的可读性和可维护性,同时减少网络编程时...
${commons.io.version} <groupId>org.devlib.schmidt <artifactId>imageinfo <version>1.7 <groupId>net.fckeditor</groupId> <artifactId>java-core <version>2.6 <groupId>org.slf4j <artifactId>...
对于 spring3.2.3 版本,除了 Spring 自身的库,还需要 Commons 库,如 Commons FileUpload、Commons IO 和 Commons Lang。在 web.xml 文件中,需要配置 DispatcherServlet,例如: ```xml <servlet-name>...
### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...
- **第三方依赖**:commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、commons-logging-1.0.4.jar、xwork-2.1.2.jar、ognl-2.6.11.jar、freemarker-2.3.13.jar - **获取配置文件**:struts.xml,需放置于项目的...
在本篇“Struts2学习笔记十四”中,我们将深入探讨Struts2框架如何实现文件上传和下载功能,这是web应用中常见的需求,尤其在处理用户提交的表单数据时。我们将不涉及具体代码,而是重点讲解相关概念和技术原理。 ...
在本篇“Struts2学习笔记十三”中,我们将深入探讨Struts2如何处理文件上传和下载,这是Web开发中常见的需求。 文件上传在Web应用中广泛用于让用户提交图片、文档或其他类型的数据。Struts2提供了一个名为`...
\contentsline {chapter}{Contents}{2}{section*.1} ... {14.6}apache.commons}{211}{section.14.6} {15}sqlite3}{213}{chapter.15} {16}Web基础}{215}{chapter.16} {16.1}HTML}{215}{section.16.1} {...
- `commons-io-2.0.1.jar`: 文件操作支持库。 - `commons-lang-2.5.jar`: Java 语言包增强。 - 可参考 `struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-blank\WEB-INF\lib` 中的 Jar 包。 2. **配置核心过滤...
【标题】:“Java笔记fdsfdsfdsdf”实际上可能是指一份关于Java编程语言的学习笔记,其中“fdsfdsfdsdf”可能是由于输入错误或者是个无意义的占位符。在这个标题下,我们可以推测笔记内容可能涵盖了Java的基础到进阶...