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 - IOExceptionpublic static File saveAsTempFile(Reader reader) throws IOException
reader - IOExceptionpublic static void saveAsFile(File file, InputStream... iss) throws IOException
file - iss - IOExceptionpublic static void ensureParentFolder(File file)
file - public static long copy(InputStream in, OutputStream out, boolean inClose, boolean outClose) throws IOException
in - 输入out - 输出inClose - 关闭输入流?outClose - 关闭输出流?IOExceptionpublic static long copy(Reader in, Writer out, boolean inClose, boolean outClose) throws IOException
in - 输入out - 输出inClose - 关闭输入流outClose - 关闭输出流IOExceptionpublic static long copy(Reader in, Writer out, boolean pClose) throws IOException
in - 输入out - 输出pClose - 关闭输出流?IOExceptionpublic static long copy(InputStream in, OutputStream out, boolean closeOutStream) throws IOException
in - 输入out - 输出closeOutStream - 关闭输出流? (输入流默认关闭)IOExceptionpublic 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 - IOExceptionpublic static byte[] toByteArray(InputStream in) throws IOException
in - IOExceptionpublic static byte[] toByteArray(InputStream in, int length) throws IOException
in - length - 要读取的字节数,-1表示不限制。(注意实际处理中-1的情况下最多读取2G数据,超过2G不会读取)IOExceptionpublic static void saveAsFile(File file, byte[] data) throws IOException
file - data - IOExceptionpublic static void saveAsFile(File file, String... texts) throws IOException
IOExceptionpublic static void saveAsFile(File file, Charset charset, Reader... readers) throws IOException
file - charset - readers - IOExceptionpublic static void saveAsFile(File file, boolean append, byte[] data) throws IOException
data - file - IOExceptionpublic static void saveAsFile(File file, Charset charset, String... texts) throws IOException
text - file - append - IOExceptionpublic static BufferedInputStream getInputStream(File file)
public static BufferedWriter getWriter(File target, Charset charSet, boolean append)
target - charSet - append - IOExceptionpublic static BufferedWriter getWriter(File target, String charSet, boolean append)
target - charSet - append - IOExceptionpublic static BufferedReader getReader(URL file, String charSet)
file - charSet - IOExceptionpublic static BufferedReader getReader(File file, String charSet) throws IOException
file - charSet - IOExceptionpublic static BufferedReader getReader(InputStream is, String charSet)
is - charSet - IOExceptionpublic 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 - 输入IOExceptionpublic static String asString(Reader reader) throws IOException
reader - IOExceptionpublic static String asString(Reader reader, boolean close) throws IOException
reader - close - 关闭readerIOExceptionpublic static void asStringLambda(URL url, Charset charset, Function<String,Boolean> func) throws IOException
IOExceptionpublic static void asStringLambda(BufferedReader reader, boolean close, Function<String,Boolean> func) throws IOException
IOExceptionpublic static void asStringLambda(InputStream in, Charset charset, boolean close, Function<String,Boolean> func) throws IOException
IOExceptionpublic static String asString(File pStream, String charset) throws IOException
IOExceptionpublic 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))
IOExceptionpublic 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?IOExceptionpublic 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.