public class IoUtil
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
DEFAULT_BUFFER_SIZE
默认缓存大小
|
static int |
DEFAULT_LARGE_BUFFER_SIZE
默认大缓存大小
|
static int |
DEFAULT_MIDDLE_BUFFER_SIZE
默认中等缓存大小
|
static int |
EOF
数据流末尾
|
| 构造器和说明 |
|---|
IoUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.util.zip.Checksum |
checksum(java.io.InputStream in,
java.util.zip.Checksum checksum)
计算流的校验码,计算后关闭流
|
static long |
checksumCRC32(java.io.InputStream in)
计算流CRC32校验码,计算后关闭流
|
static void |
close(java.lang.AutoCloseable closeable)
关闭
关闭失败不会抛出异常 |
static void |
close(java.io.Closeable closeable)
关闭
关闭失败不会抛出异常 |
static boolean |
contentEquals(java.io.InputStream input1,
java.io.InputStream input2)
对比两个流内容是否相同
内部会转换流为 BufferedInputStream |
static boolean |
contentEquals(java.io.Reader input1,
java.io.Reader input2)
对比两个Reader的内容是否一致
内部会转换流为 BufferedInputStream |
static boolean |
contentEqualsIgnoreEOL(java.io.Reader input1,
java.io.Reader input2)
对比两个流内容是否相同,忽略EOL字符
内部会转换流为 BufferedInputStream |
static long |
copy(java.io.FileInputStream in,
java.io.FileOutputStream out)
拷贝文件流,使用NIO
|
static long |
copy(java.io.InputStream in,
java.io.OutputStream out)
拷贝流,使用默认Buffer大小
|
static long |
copy(java.io.InputStream in,
java.io.OutputStream out,
int bufferSize)
拷贝流
|
static long |
copy(java.io.InputStream in,
java.io.OutputStream out,
int bufferSize,
StreamProgress streamProgress)
拷贝流
|
static long |
copy(java.nio.channels.ReadableByteChannel in,
java.nio.channels.WritableByteChannel out,
int bufferSize,
StreamProgress streamProgress)
拷贝流,使用NIO,不会关闭流
|
static long |
copy(java.io.Reader reader,
java.io.Writer writer)
将Reader中的内容复制到Writer中 使用默认缓存大小
|
static long |
copy(java.io.Reader reader,
java.io.Writer writer,
int bufferSize)
将Reader中的内容复制到Writer中
|
static long |
copy(java.io.Reader reader,
java.io.Writer writer,
int bufferSize,
StreamProgress streamProgress)
将Reader中的内容复制到Writer中
|
static long |
copyByNIO(java.io.InputStream in,
java.io.OutputStream out,
int bufferSize,
StreamProgress streamProgress)
拷贝流 thanks to: https://github.com/venusdrogon/feilong-io/blob/master/src/main/java/com/feilong/io/IOWriteUtil.java
本方法不会关闭流 |
static java.io.PushbackReader |
getPushBackReader(java.io.Reader reader,
int pushBackSize)
获得
PushbackReader如果是 PushbackReader强转返回,否则新建 |
static java.io.BufferedReader |
getReader(java.io.InputStream in,
java.nio.charset.Charset charset)
获得一个Reader
|
static java.io.BufferedReader |
getReader(java.io.InputStream in,
java.lang.String charsetName)
获得一个文件读取器
|
static java.io.BufferedReader |
getReader(java.io.Reader reader)
获得
BufferedReader如果是 BufferedReader强转返回,否则新建。 |
static java.io.OutputStreamWriter |
getWriter(java.io.OutputStream out,
java.nio.charset.Charset charset)
获得一个Writer
|
static java.io.OutputStreamWriter |
getWriter(java.io.OutputStream out,
java.lang.String charsetName)
获得一个Writer
|
static java.lang.String |
read(java.nio.channels.FileChannel fileChannel,
java.nio.charset.Charset charset)
从FileChannel中读取内容
|
static java.lang.String |
read(java.nio.channels.FileChannel fileChannel,
java.lang.String charsetName)
从FileChannel中读取内容,读取完毕后并不关闭Channel
|
static FastByteArrayOutputStream |
read(java.io.InputStream in)
从流中读取内容,读到输出流中
|
static java.lang.String |
read(java.io.InputStream in,
java.nio.charset.Charset charset)
从流中读取内容,读取完毕后并不关闭流
|
static java.lang.String |
read(java.io.InputStream in,
java.lang.String charsetName)
从流中读取内容
|
static java.lang.String |
read(java.io.Reader reader)
从Reader中读取String,读取完毕后并不关闭Reader
|
static byte[] |
readBytes(java.io.InputStream in)
从流中读取bytes
|
static byte[] |
readBytes(java.io.InputStream in,
int length)
读取指定长度的byte数组,不关闭流
|
static java.lang.String |
readHex(java.io.InputStream in,
int length,
boolean toLowerCase)
读取16进制字符串
|
static java.lang.String |
readHex28Lower(java.io.InputStream in)
从流中读取前28个byte并转换为16进制,字母部分使用小写
|
static java.lang.String |
readHex28Upper(java.io.InputStream in)
从流中读取前28个byte并转换为16进制,字母部分使用大写
|
static void |
readLines(java.io.InputStream in,
java.nio.charset.Charset charset,
LineHandler lineHandler)
按行读取数据,针对每行的数据做处理
|
static <T extends java.util.Collection<java.lang.String>> |
readLines(java.io.InputStream in,
java.nio.charset.Charset charset,
T collection)
从流中读取内容
|
static <T extends java.util.Collection<java.lang.String>> |
readLines(java.io.InputStream in,
java.lang.String charsetName,
T collection)
从流中读取内容
|
static void |
readLines(java.io.Reader reader,
LineHandler lineHandler)
按行读取数据,针对每行的数据做处理
Reader自带编码定义,因此读取数据的编码跟随其编码。 |
static <T extends java.util.Collection<java.lang.String>> |
readLines(java.io.Reader reader,
T collection)
从Reader中读取内容
|
static <T> T |
readObj(java.io.InputStream in)
从流中读取内容,读到输出流中
|
static java.lang.String |
readUtf8(java.nio.channels.FileChannel fileChannel)
从FileChannel中读取UTF-8编码内容
|
static void |
readUtf8Lines(java.io.InputStream in,
LineHandler lineHandler)
按行读取UTF-8编码数据,针对每行的数据做处理
|
static <T extends java.util.Collection<java.lang.String>> |
readUtf8Lines(java.io.InputStream in,
T collection)
从流中读取内容,使用UTF-8编码
|
static java.io.BufferedInputStream |
toBuffered(java.io.InputStream in)
转换为
BufferedInputStream |
static java.io.BufferedOutputStream |
toBuffered(java.io.OutputStream out)
转换为
BufferedOutputStream |
static java.io.InputStream |
toMarkSupportStream(java.io.InputStream in)
将
InputStream转换为支持mark标记的流若原流支持mark标记,则返回原流,否则使用 BufferedInputStream 包装之 |
static java.io.PushbackInputStream |
toPushbackStream(java.io.InputStream in,
int pushBackSize)
转换为
PushbackInputStream如果传入的输入流已经是 PushbackInputStream,强转返回,否则新建一个 |
static java.io.ByteArrayInputStream |
toStream(byte[] content)
String 转为流
|
static java.io.FileInputStream |
toStream(java.io.File file)
文件转为流
|
static java.io.ByteArrayInputStream |
toStream(java.lang.String content,
java.nio.charset.Charset charset)
String 转为流
|
static java.io.ByteArrayInputStream |
toStream(java.lang.String content,
java.lang.String charsetName)
String 转为流
|
static void |
write(java.io.OutputStream out,
boolean isCloseOut,
byte[] content)
将byte[]写到流中
|
static void |
write(java.io.OutputStream out,
java.nio.charset.Charset charset,
boolean isCloseOut,
java.lang.Object... contents)
将多部分内容写到流中,自动转换为字符串
|
static void |
write(java.io.OutputStream out,
java.lang.String charsetName,
boolean isCloseOut,
java.lang.Object... contents)
将多部分内容写到流中,自动转换为字符串
|
static void |
writeObjects(java.io.OutputStream out,
boolean isCloseOut,
java.io.Serializable... contents)
将多部分内容写到流中
|
static void |
writeUtf8(java.io.OutputStream out,
boolean isCloseOut,
java.lang.Object... contents)
将多部分内容写到流中,自动转换为UTF-8字符串
|
public static final int DEFAULT_BUFFER_SIZE
public static final int DEFAULT_MIDDLE_BUFFER_SIZE
public static final int DEFAULT_LARGE_BUFFER_SIZE
public static final int EOF
public static long copy(java.io.Reader reader,
java.io.Writer writer)
throws IORuntimeException
reader - Readerwriter - WriterIORuntimeException - IO异常public static long copy(java.io.Reader reader,
java.io.Writer writer,
int bufferSize)
throws IORuntimeException
reader - Readerwriter - WriterbufferSize - 缓存大小IORuntimeException - IO异常public static long copy(java.io.Reader reader,
java.io.Writer writer,
int bufferSize,
StreamProgress streamProgress)
throws IORuntimeException
reader - Readerwriter - WriterbufferSize - 缓存大小streamProgress - 进度处理器IORuntimeException - IO异常public static long copy(java.io.InputStream in,
java.io.OutputStream out)
throws IORuntimeException
in - 输入流out - 输出流IORuntimeException - IO异常public static long copy(java.io.InputStream in,
java.io.OutputStream out,
int bufferSize)
throws IORuntimeException
in - 输入流out - 输出流bufferSize - 缓存大小IORuntimeException - IO异常public static long copy(java.io.InputStream in,
java.io.OutputStream out,
int bufferSize,
StreamProgress streamProgress)
throws IORuntimeException
in - 输入流out - 输出流bufferSize - 缓存大小streamProgress - 进度条IORuntimeException - IO异常public static long copyByNIO(java.io.InputStream in,
java.io.OutputStream out,
int bufferSize,
StreamProgress streamProgress)
throws IORuntimeException
in - 输入流out - 输出流bufferSize - 缓存大小streamProgress - 进度条IORuntimeException - IO异常public static long copy(java.io.FileInputStream in,
java.io.FileOutputStream out)
throws IORuntimeException
in - 输入out - 输出IORuntimeException - IO异常public static long copy(java.nio.channels.ReadableByteChannel in,
java.nio.channels.WritableByteChannel out,
int bufferSize,
StreamProgress streamProgress)
throws IORuntimeException
in - ReadableByteChannelout - WritableByteChannelbufferSize - 缓冲大小,如果小于等于0,使用默认streamProgress - StreamProgress进度处理器IORuntimeException - IO异常public static java.io.BufferedReader getReader(java.io.InputStream in,
java.lang.String charsetName)
in - 输入流charsetName - 字符集名称public static java.io.BufferedReader getReader(java.io.InputStream in,
java.nio.charset.Charset charset)
in - 输入流charset - 字符集public static java.io.BufferedReader getReader(java.io.Reader reader)
BufferedReaderBufferedReader强转返回,否则新建。如果提供的Reader为null返回nullreader - 普通Reader,如果为null返回nullBufferedReader or nullpublic static java.io.PushbackReader getPushBackReader(java.io.Reader reader,
int pushBackSize)
PushbackReaderPushbackReader强转返回,否则新建reader - 普通ReaderpushBackSize - 推后的byte数PushbackReaderpublic static java.io.OutputStreamWriter getWriter(java.io.OutputStream out,
java.lang.String charsetName)
out - 输入流charsetName - 字符集public static java.io.OutputStreamWriter getWriter(java.io.OutputStream out,
java.nio.charset.Charset charset)
out - 输入流charset - 字符集public static java.lang.String read(java.io.InputStream in,
java.lang.String charsetName)
throws IORuntimeException
in - 输入流charsetName - 字符集IORuntimeException - IO异常public static java.lang.String read(java.io.InputStream in,
java.nio.charset.Charset charset)
throws IORuntimeException
in - 输入流,读取完毕后并不关闭流charset - 字符集IORuntimeException - IO异常public static FastByteArrayOutputStream read(java.io.InputStream in) throws IORuntimeException
in - 输入流IORuntimeException - IO异常public static java.lang.String read(java.io.Reader reader)
throws IORuntimeException
reader - ReaderIORuntimeException - IO异常public static java.lang.String readUtf8(java.nio.channels.FileChannel fileChannel)
throws IORuntimeException
fileChannel - 文件管道IORuntimeException - IO异常public static java.lang.String read(java.nio.channels.FileChannel fileChannel,
java.lang.String charsetName)
throws IORuntimeException
fileChannel - 文件管道charsetName - 字符集IORuntimeException - IO异常public static java.lang.String read(java.nio.channels.FileChannel fileChannel,
java.nio.charset.Charset charset)
throws IORuntimeException
fileChannel - 文件管道charset - 字符集IORuntimeException - IO异常public static byte[] readBytes(java.io.InputStream in)
throws IORuntimeException
in - InputStreamIORuntimeException - IO异常public static byte[] readBytes(java.io.InputStream in,
int length)
throws IORuntimeException
in - InputStream,为null返回nulllength - 长度,小于等于0返回空byte数组IORuntimeException - IO异常public static java.lang.String readHex(java.io.InputStream in,
int length,
boolean toLowerCase)
throws IORuntimeException
in - InputStreamlength - 长度toLowerCase - true 传换成小写格式 , false 传换成大写格式IORuntimeException - IO异常public static java.lang.String readHex28Upper(java.io.InputStream in)
throws IORuntimeException
in - InputStreamIORuntimeException - IO异常public static java.lang.String readHex28Lower(java.io.InputStream in)
throws IORuntimeException
in - InputStreamIORuntimeException - IO异常public static <T> T readObj(java.io.InputStream in)
throws IORuntimeException,
UtilException
T - 读取对象的类型in - 输入流IORuntimeException - IO异常UtilException - ClassNotFoundException包装public static <T extends java.util.Collection<java.lang.String>> T readUtf8Lines(java.io.InputStream in,
T collection)
throws IORuntimeException
T - 集合类型in - 输入流collection - 返回集合IORuntimeException - IO异常public static <T extends java.util.Collection<java.lang.String>> T readLines(java.io.InputStream in,
java.lang.String charsetName,
T collection)
throws IORuntimeException
T - 集合类型in - 输入流charsetName - 字符集collection - 返回集合IORuntimeException - IO异常public static <T extends java.util.Collection<java.lang.String>> T readLines(java.io.InputStream in,
java.nio.charset.Charset charset,
T collection)
throws IORuntimeException
T - 集合类型in - 输入流charset - 字符集collection - 返回集合IORuntimeException - IO异常public static <T extends java.util.Collection<java.lang.String>> T readLines(java.io.Reader reader,
T collection)
throws IORuntimeException
T - 集合类型reader - Readercollection - 返回集合IORuntimeException - IO异常public static void readUtf8Lines(java.io.InputStream in,
LineHandler lineHandler)
throws IORuntimeException
in - InputStreamlineHandler - 行处理接口,实现handle方法用于编辑一行的数据后入到指定地方IORuntimeException - IO异常public static void readLines(java.io.InputStream in,
java.nio.charset.Charset charset,
LineHandler lineHandler)
throws IORuntimeException
in - InputStreamcharset - Charset编码lineHandler - 行处理接口,实现handle方法用于编辑一行的数据后入到指定地方IORuntimeException - IO异常public static void readLines(java.io.Reader reader,
LineHandler lineHandler)
throws IORuntimeException
Reader自带编码定义,因此读取数据的编码跟随其编码。reader - ReaderlineHandler - 行处理接口,实现handle方法用于编辑一行的数据后入到指定地方IORuntimeException - IO异常public static java.io.ByteArrayInputStream toStream(java.lang.String content,
java.lang.String charsetName)
content - 内容charsetName - 编码public static java.io.ByteArrayInputStream toStream(java.lang.String content,
java.nio.charset.Charset charset)
content - 内容charset - 编码public static java.io.ByteArrayInputStream toStream(byte[] content)
content - 内容bytespublic static java.io.FileInputStream toStream(java.io.File file)
file - 文件FileInputStreampublic static java.io.BufferedInputStream toBuffered(java.io.InputStream in)
BufferedInputStreamin - InputStreamBufferedInputStreampublic static java.io.BufferedOutputStream toBuffered(java.io.OutputStream out)
BufferedOutputStreamout - OutputStreamBufferedOutputStreampublic static java.io.InputStream toMarkSupportStream(java.io.InputStream in)
InputStream转换为支持mark标记的流BufferedInputStream 包装之in - 流InputStreampublic static java.io.PushbackInputStream toPushbackStream(java.io.InputStream in,
int pushBackSize)
PushbackInputStreamPushbackInputStream,强转返回,否则新建一个in - InputStreampushBackSize - 推后的byte数PushbackInputStreampublic static void write(java.io.OutputStream out,
boolean isCloseOut,
byte[] content)
throws IORuntimeException
out - 输出流isCloseOut - 写入完毕是否关闭输出流content - 写入的内容IORuntimeException - IO异常public static void writeUtf8(java.io.OutputStream out,
boolean isCloseOut,
java.lang.Object... contents)
throws IORuntimeException
out - 输出流isCloseOut - 写入完毕是否关闭输出流contents - 写入的内容,调用toString()方法,不包括不会自动换行IORuntimeException - IO异常public static void write(java.io.OutputStream out,
java.lang.String charsetName,
boolean isCloseOut,
java.lang.Object... contents)
throws IORuntimeException
out - 输出流charsetName - 写出的内容的字符集isCloseOut - 写入完毕是否关闭输出流contents - 写入的内容,调用toString()方法,不包括不会自动换行IORuntimeException - IO异常public static void write(java.io.OutputStream out,
java.nio.charset.Charset charset,
boolean isCloseOut,
java.lang.Object... contents)
throws IORuntimeException
out - 输出流charset - 写出的内容的字符集isCloseOut - 写入完毕是否关闭输出流contents - 写入的内容,调用toString()方法,不包括不会自动换行IORuntimeException - IO异常public static void writeObjects(java.io.OutputStream out,
boolean isCloseOut,
java.io.Serializable... contents)
throws IORuntimeException
out - 输出流isCloseOut - 写入完毕是否关闭输出流contents - 写入的内容IORuntimeException - IO异常public static void close(java.io.Closeable closeable)
closeable - 被关闭的对象public static void close(java.lang.AutoCloseable closeable)
closeable - 被关闭的对象public static boolean contentEquals(java.io.InputStream input1,
java.io.InputStream input2)
throws IORuntimeException
BufferedInputStreaminput1 - 第一个流input2 - 第二个流IORuntimeException - IO异常public static boolean contentEquals(java.io.Reader input1,
java.io.Reader input2)
throws IORuntimeException
BufferedInputStreaminput1 - 第一个readerinput2 - 第二个readerIORuntimeException - IO异常public static boolean contentEqualsIgnoreEOL(java.io.Reader input1,
java.io.Reader input2)
throws IORuntimeException
BufferedInputStreaminput1 - 第一个流input2 - 第二个流IORuntimeException - IO异常public static long checksumCRC32(java.io.InputStream in)
throws IORuntimeException
in - 文件,不能为目录IORuntimeException - IO异常public static java.util.zip.Checksum checksum(java.io.InputStream in,
java.util.zip.Checksum checksum)
throws IORuntimeException
in - 流checksum - ChecksumIORuntimeException - IO异常Copyright © 2018. All rights reserved.