apache commons-io

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>

写在前面的话

commons-io 是 Java 文件 IO『第一库』是公认的,它的功能和代码质量都是极佳的,它好到没有人想到再写一个竞品与之竞争,这么干完全是费力不讨好的做法。

IOUtils 类

IOUtils 主要操作 IO 流进行文件的读写操作。

IOUtils 常用方法如下:

// “安静地”关闭流对象。2.6 被废弃,建议使用 try-with-resource
void closeQuietly(Closeable closeable) 

// 从输入流中读取数据
String toString(InputStream input, Charset encoding) 
String toString(InputStream input, String encoding)
// 从输入流 拷贝至 输出流
int copy(InputStream input, OutputStream output)
void copy(InputStream input, Writer output, Charset inputEncoding)
void copy(Reader input, OutputStream output, String outputEncoding)
void copy(Reader input, OutputStream output, Charset outputEncoding)
// 从 输入流 中读取字节
byte[] toByteArray(InputStream input)
byte[] toByteArray(InputStream input, int size)
byte[] toByteArray(InputStream input, long size)
// 2.5 中被废弃,使用下个方法替代
byte[] toByteArray(Reader input) 
byte[] toByteArray(Reader input, Charset encoding)
byte[] toByteArray(Reader input, String encoding)
// write()
void write(byte[] data, OutputStream output)
void write(char[] data, OutputStream output, Charset encoding)
void write(char[] data, OutputStream output, String encoding)

void write(char[] data, Writer output)
void write(byte[] data, Writer output, Charset encoding)
void write(byte[] data, Writer output, String encoding)

void write(CharSequence data, Writer output)
void write(CharSequence data, OutputStream output, Charset encoding)
void write(CharSequence data, OutputStream output, String encoding)

void write(String data, Writer output)
void write(String data, OutputStream output, Charset encoding)
void write(String data, OutputStream output, String encoding)
// 生成 InputStream 对象,并写入参数内容
InputStream toInputStream(CharSequence input, Charset encoding)  
InputStream toInputStream(CharSequence input, String encoding)

InputStream toInputStream(String input, Charset encoding)
InputStream toInputStream(String input, String encoding)
List<String> readLines(Reader input)   // 按行读入内容。
List<String> readLines(InputStream input, Charset encoding)
List<String> readLines(InputStream input, String encoding)
long copyLarge(InputStream input, OutputStream output) // 用于超过 2 GB 的数据拷贝
long copyLarge(InputStream input, OutputStream output, byte[] buffer)
long copyLarge(InputStream input, OutputStream output, long inputOffset, long length)
long copyLarge(InputStream input, OutputStream output, long inputOffset, long length, byte[] buffer)

long copyLarge(Reader input, Writer output)
long copyLarge(Reader input, Writer output, char[] buffer)
long copyLarge(Reader input, Writer output, long inputOffset, long length)
long copyLarge(Reader input, Writer output, long inputOffset, long length, char[] buffer)
LineIterator lineIterator(Reader reader) // 生成 Iterator 迭代器。可逐行读取文件内容。
LineIterator lineIterator(InputStream input, String encoding)
LineIterator lineIterator(InputStream input, Charset encoding)
void readFully(InputStream input, byte[] buffer) // 读取指定数量的内容,或失败。
void readFully(InputStream input, byte[] buffer, int offset, int length)

void readFully(Reader input, char[] buffer)
void readFully(Reader input, char[] buffer, int offset, int length)

byte[] readFully(InputStream input, int length)

FileUtils 类

// 递归地删除文件/文件夹
void deleteDirectory(File directory) 
// 将文件中的内容读入字符串
String readFileToString(File file, Charset encoding) 
String readFileToString(File file, String encoding)
// 删除一个文件。无论如何不会抛出异常。
boolean deleteQuietly(File file) 
void copyFile(File srcFile, File destFile) // 拷贝文件,保留源文件的日期
void copyFile(File srcFile, File destFile, boolean preserveFileDate) // 是否保留文件日期取决于第三个参数
long copyFile(File input, OutputStream output)
void writeStringToFile(File file, String data, Charset encoding) // 向文件中写入字符串。若文件不存在,则创建文件。
void writeStringToFile(File file, String data, Charset encoding, boolean append)
void writeStringToFile(File file, String data, String encoding)
void writeStringToFile(File file, String data, String encoding, boolean append)
void forceMkdir(File directory) // 创建文件夹
void forceMkdirParent(File file) // 创建文件夹,及其父文件夹。
void write(File file, CharSequence data, Charset encoding)
void write(File file, CharSequence data, String encoding)
void write(File file, CharSequence data, Charset encoding, boolean append)
void write(File file, CharSequence data, String encoding, boolean append)
Collection<File> listFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)
// Finds files within a given directory (and optionally its subdirectories).
Collection<File> listFiles(File directory, String[] extensions, boolean recursive)
// Finds files within a given directory (and optionally its subdirectories) which match an array of extensions.
Collection<File> listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)
// Finds files within a given directory (and optionally its subdirectories).
void copyDirectory(File srcDir, File destDir) // Copies a whole directory to a new location preserving the file dates.
void copyDirectory(File srcDir, File destDir, boolean preserveFileDate) // Copies a whole directory to a new location.
void copyDirectory(File srcDir, File destDir, FileFilter filter) // Copies a filtered directory to a new location preserving the file dates.
void copyDirectory(File srcDir, File destDir, FileFilter filter, boolean preserveFileDate) // Copies a filtered directory to a new location.
void forceDelete(File file) // Deletes a file.

FilenameUtils 类

String getExtension(String filename) // Gets the extension of a filename.
String getBaseName(String filename) // Gets the base name, minus the full path and extension, from a full filename.
String getName(String filename) // Gets the name minus the path from a full filename.
String concat(String basePath, String fullFilenameToAdd) // Concatenates a filename to a base path using normal command line style rules.
String removeExtension(String filename) // Removes the extension from a filename.
String normalize(String filename) // Normalizes a path, removing double and single dot path steps.
boolean wildcardMatch(String filename, String wildcardMatcher) // Checks a filename to see if it matches the specified wildcard matcher, always testing case-sensitive.
String separatorsToUnix(String path) // Converts all separators to the Unix separator of forward slash.
String getFullPath(String filename) // Gets the full path from a full filename, which is the prefix + path.
boolean isExtension(String filename, String extension) //Checks whether the extension of the filename is that specified.


作者:hemiao3000
链接:https://www.jianshu.com/p/a6390e6aac7e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值