public class IOUtils extends Object
Modifier and Type | Class and Description |
---|---|
static class |
IOUtils.FileFilterEx
文件过滤器
|
Constructor and Description |
---|
IOUtils() |
Modifier and Type | Method and Description |
---|---|
static byte[] |
asByteArray(File file)
Deprecated.
use
|
static char[] |
asCharArray(Reader reader)
将Reader内容读取到内存中的charArray
|
static String |
asString(File pStream,
String charset) |
static String |
asString(InputStream pStream)
将输入流转化为String .(使用缺省的字符集)
|
static String |
asString(InputStream pStream,
String pEncoding,
boolean close)
将输入流转化为String
|
static String |
asString(Reader reader)
将Reader的内容读取为一个字符串
|
static String |
asString(Reader reader,
boolean close)
将Reader内容读取为字符串
|
static String |
asString(URL url,
String charset)
将指定位置的数据读出成为文本
|
static void |
asStringLambda(BufferedReader reader,
boolean close,
Function<String,Boolean> func) |
static void |
asStringLambda(InputStream in,
Charset charset,
boolean close,
Function<String,Boolean> func) |
static void |
asStringLambda(URL url,
Charset charset,
Function<String,Boolean> func) |
static void |
closeQuietly(Closeable input)
关闭指定的对象,不会抛出异常
|
static long |
copy(InputStream in,
OutputStream out,
boolean closeOutStream)
流之间拷贝
|
static long |
copy(InputStream in,
OutputStream out,
boolean inClose,
boolean outClose)
流之间拷贝
|
static long |
copy(Reader in,
Writer out,
boolean pClose)
流之间拷贝
|
static long |
copy(Reader in,
Writer out,
boolean inClose,
boolean outClose)
流之间拷贝
|
static void |
ensureParentFolder(File file)
检查/创建文件在所的文件夹
|
static File |
findFile(File root,
IOUtils.FileFilterEx filter)
在指定目录下搜索单个文件
|
static File |
findFile(File root,
String name,
boolean acceptFolder)
在指定目录下搜索单个文件
|
static Collection<File> |
findFiles(File root,
IOUtils.FileFilterEx filter)
在指定目录下搜索文件
|
static String |
getExtName(String fileName)
得到文件的扩展名(小写如果没有则返回空字符串)。如果传入的文件名包含路径,分析时会考虑最后一个\或/字符后满的部分才作为文件名。
|
static BufferedInputStream |
getInputStream(File file)
获得二进制文件写入句柄
|
static BufferedReader |
getReader(Class<?> source,
String fileName,
String charSet)
获得相对于一个class的所在路径的相对路径的文件资源
|
static BufferedReader |
getReader(File file,
String charSet)
获得一个供读取文本的reader, 本方法可以从BOM自动判断utf-8, unicode等类型,因此charset一般可以为null.
|
static BufferedReader |
getReader(InputStream is,
String charSet)
获得Reader
|
static BufferedReader |
getReader(URL file,
String charSet)
从URL获得reader
|
static BufferedWriter |
getWriter(File target,
Charset charSet,
boolean append)
获得文本文件写入流
|
static BufferedWriter |
getWriter(File target,
String charSet,
boolean append)
获得文本文件写入流
|
static Map<String,String> |
loadProperties(Reader in)
获得配置文件的项目。配置文件用= :等分隔对,语法同properties文件
|
static Map<String,String> |
loadProperties(Reader in,
Boolean supportSection)
获得配置文件的项目。配置文件用= :等分隔对,语法同properties文件
|
static Map<String,String> |
loadProperties(URL in)
获得配置文件的项目。配置文件用= :等分隔对,语法同properties文件
|
static Map<String,String> |
loadProperties(URL in,
Boolean supportSection) |
static String |
removeExt(String fileName)
得到文件名除去扩展名的部分。如果传入的文件名包含路径,分析时会考虑最后一个\或/字符后满的部分才作为文件名。 去除扩展名后返回包含路径的部分。
|
static void |
saveAsFile(File file,
boolean append,
byte[] data)
将内存数据块写入文件
|
static void |
saveAsFile(File file,
byte[] data)
将内存数据块写入文件
|
static void |
saveAsFile(File file,
Charset charset,
Reader... readers)
将reader内容保存为文件
|
static void |
saveAsFile(File file,
Charset charset,
String... texts)
将文字写入文件
|
static void |
saveAsFile(File file,
InputStream... iss)
将输入流保存为文件
|
static void |
saveAsFile(File file,
String... texts) |
static File |
saveAsTempFile(InputStream is)
将指定的流保存为临时文件
|
static File |
saveAsTempFile(Reader reader)
将数据从来源保存为临时文件
|
static byte[] |
toByteArray(File file)
读取文件到内存(不可用于大文件)
|
static byte[] |
toByteArray(InputStream in)
读取流数据到内存。注意这个方法会将数据流全部读入到内存中,因此不适用于很大的数据对象
|
static byte[] |
toByteArray(InputStream in,
int length)
从流中读取指定的字节,第三个版本,性能再度提升 参考数据,从120M文件中读取前60M,此方法耗时125ms,v2耗时156ms
|
static byte[] |
toByteArray(URL url)
将制定的URL中的数据读出成byte[]
|
static String |
toClassLoaderResourcePath(Class<?> c,
String fileName)
ClassLoader resource不用/开头。这里将c转换过去
|
static File |
urlToFile(URL url)
将URL转化为文件
|
static File[] |
urlToFile(URL[] url)
将多个URL转换为多个文件对象
|
public static void closeQuietly(Closeable input)
input
- 需要关闭的资源public static File urlToFile(URL url)
url
- 要转换的URL,必须是file://协议,否则抛出异常。public static File saveAsTempFile(InputStream is) throws IOException
is
- IOException
public static File saveAsTempFile(Reader reader) throws IOException
reader
- IOException
public static void saveAsFile(File file, InputStream... iss) throws IOException
file
- iss
- IOException
public static void ensureParentFolder(File file)
file
- public static long copy(InputStream in, OutputStream out, boolean inClose, boolean outClose) throws IOException
in
- 输入out
- 输出inClose
- 关闭输入流?outClose
- 关闭输出流?IOException
public static long copy(Reader in, Writer out, boolean inClose, boolean outClose) throws IOException
in
- 输入out
- 输出inClose
- 关闭输入流outClose
- 关闭输出流IOException
public static long copy(Reader in, Writer out, boolean pClose) throws IOException
in
- 输入out
- 输出pClose
- 关闭输出流?IOException
public static long copy(InputStream in, OutputStream out, boolean closeOutStream) throws IOException
in
- 输入out
- 输出closeOutStream
- 关闭输出流? (输入流默认关闭)IOException
public static byte[] toByteArray(URL url) throws IOException
url
- 资源目标位置IOException
- IO操作异常public static byte[] toByteArray(File file) throws IOException
file
- 本地文件IOException
- IO操作异常public static byte[] asByteArray(File file) throws IOException
file
- IOException
public static byte[] toByteArray(InputStream in) throws IOException
in
- IOException
public static byte[] toByteArray(InputStream in, int length) throws IOException
in
- length
- 要读取的字节数,-1表示不限制。(注意实际处理中-1的情况下最多读取2G数据,超过2G不会读取)IOException
public static void saveAsFile(File file, byte[] data) throws IOException
file
- data
- IOException
public static void saveAsFile(File file, String... texts) throws IOException
IOException
public static void saveAsFile(File file, Charset charset, Reader... readers) throws IOException
file
- charset
- readers
- IOException
public static void saveAsFile(File file, boolean append, byte[] data) throws IOException
data
- file
- IOException
public static void saveAsFile(File file, Charset charset, String... texts) throws IOException
text
- file
- append
- IOException
public static BufferedInputStream getInputStream(File file)
public static BufferedWriter getWriter(File target, Charset charSet, boolean append)
target
- charSet
- append
- IOException
public static BufferedWriter getWriter(File target, String charSet, boolean append)
target
- charSet
- append
- IOException
public static BufferedReader getReader(URL file, String charSet)
file
- charSet
- IOException
public static BufferedReader getReader(File file, String charSet) throws IOException
file
- charSet
- IOException
public static BufferedReader getReader(InputStream is, String charSet)
is
- charSet
- IOException
public static BufferedReader getReader(Class<?> source, String fileName, String charSet)
source
- classfileName
- 文件相对路径charSet
- 编码public static String toClassLoaderResourcePath(Class<?> c, String fileName)
fileName
- public static File findFile(File root, IOUtils.FileFilterEx filter)
root
- filter
- 过滤条件public static Collection<File> findFiles(File root, IOUtils.FileFilterEx filter)
root
- 要搜索的目录filter
- 文件过滤器public static File findFile(File root, String name, boolean acceptFolder)
root
- 要搜索的目录name
- 搜索的文件名称(完全匹配)acceptFolder
- 是否搜索文件夹public static char[] asCharArray(Reader reader) throws IOException
reader
- 输入IOException
public static String asString(Reader reader) throws IOException
reader
- IOException
public static String asString(Reader reader, boolean close) throws IOException
reader
- close
- 关闭readerIOException
public static void asStringLambda(URL url, Charset charset, Function<String,Boolean> func) throws IOException
IOException
public static void asStringLambda(BufferedReader reader, boolean close, Function<String,Boolean> func) throws IOException
IOException
public static void asStringLambda(InputStream in, Charset charset, boolean close, Function<String,Boolean> func) throws IOException
IOException
public static String asString(File pStream, String charset) throws IOException
IOException
public static String asString(URL url, String charset) throws IOException
url
- 资源位置charset
- 字符编码,可以传入nullIOException
- IO操作异常public static String asString(InputStream pStream) throws IOException
最简单的获取系统资源转换为String的写法如下:
IOUtils.asString(ClassLoader.getSystemResourceAsStream(filename))
IOException
public static String asString(InputStream pStream, String pEncoding, boolean close) throws IOException
pStream
- The input stream to read.pEncoding
- The character encoding, typically "UTF-8".close
- close the in stream?IOException
public static Map<String,String> loadProperties(URL in)
使用此方法可以代替使用JDK中的Properties
工具。因为Properties操作中往往有以下不便
Properties
。
in
- 要读取的资源public static Map<String,String> loadProperties(Reader in)
使用此方法可以代替使用JDK中的Properties
工具。因为Properties操作中往往有以下不便
Properties
。
in
- 要读取的数据流。注意读取完成后流会被关闭。public static Map<String,String> loadProperties(Reader in, Boolean supportSection)
使用此方法可以代替使用JDK中的Properties
工具。因为Properties操作中往往有以下不便
Properties
。
in
- 要读取的数据流。注意读取完成后流会被关闭。supportSection
- 支持分节。window下有一种很类似properties格式的配置文件INI。INI文件中可以使用[section]
对配置划分小节。开启此开关后,解析时会将当前节名称和配置名拼在一起。 形成 节名|配置名
的格式。public static String getExtName(String fileName)
fileName
- Copyright © 2020. All rights reserved.