Package org.aoju.bus.core.toolkit
Class IoKit
java.lang.Object
org.aoju.bus.core.toolkit.IoKit
IO工具类 IO工具类只是辅助流的读写,并不负责关闭流 原因是流可能被多次读写,读写关闭后容易造成问题
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int默认缓存大小 8192static final int默认大缓存大小 32768static final int数据流末尾 -
Method Summary
Modifier and TypeMethodDescriptionstatic SinkappendingSink(File file) 返回一个附加到file的接收器static booleanarrayRangeEquals(byte[] a, int aOffset, byte[] b, int bOffset, int byteCount) static Sink返回一个都不写的接收器static BufferSink返回一个新接收器,该接收器缓冲写sink返回的接收器将批量写入sinkstatic BufferSource返回缓冲区从source读取的字节流 返回的源将对其内存缓冲区执行批量读取static voidcheckOffsetAndCount(long size, long offset, long byteCount) static void关闭 关闭失败不会抛出异常static voidclose(AutoCloseable autoCloseable) 关闭 关闭失败不会抛出异常static voidclose(ServerSocket serverSocket) static void关闭 关闭失败不会抛出异常static voidclose(AsynchronousSocketChannel channel) static booleancontentEquals(InputStream input1, InputStream input2) 对比两个流内容是否相同 内部会转换流为BufferedInputStreamstatic booleancontentEquals(Reader input1, Reader input2) 对比两个Reader的内容是否一致 内部会转换流为BufferedInputStreamstatic booleancontentEqualsIgnoreEOL(Reader input1, Reader input2) 对比两个流内容是否相同,忽略EOL字符 内部会转换流为BufferedInputStreamstatic longcopy(FileInputStream in, FileOutputStream out) 文件拷贝实现static longcopy(InputStream in, OutputStream out) 拷贝流,使用默认Buffer大小,拷贝后不关闭流static longcopy(InputStream in, OutputStream out, int bufferSize) 拷贝流,拷贝后不关闭流static longcopy(InputStream in, OutputStream out, int bufferSize, long count, Progress progress) 拷贝流,拷贝后不关闭流static longcopy(InputStream in, OutputStream out, int bufferSize, Progress progress) 拷贝流,拷贝后不关闭流static voidcopy(InputStream input, Writer output) 使用平台的默认字符编码将字节从InputStream复制到写入器上的字符 该方法在内部缓冲输入,因此不需要使用 BufferedInputStream 方法使用InputStreamReaderstatic voidcopy(InputStream input, Writer output, String encoding) 使用指定的字符编码将字节从InputStream复制到写入器上的字符.static long将Reader中的内容复制到Writer中 使用默认缓存大小,拷贝后不关闭Readerstatic long将Reader中的内容复制到Writer中,拷贝后不关闭Readerstatic long将Reader中的内容复制到Writer中,拷贝后不关闭Readerstatic long将Reader中的内容复制到Writer中,拷贝后不关闭Readerstatic longcopy(FileChannel inChannel, FileChannel outChannel) 拷贝文件Channel,使用NIO,拷贝后不会关闭channelstatic longcopy(ReadableByteChannel in, WritableByteChannel out) 拷贝流,使用NIO,不会关闭channelstatic longcopy(ReadableByteChannel in, WritableByteChannel out, int bufferSize) 拷贝流,使用NIO,不会关闭channelstatic longcopy(ReadableByteChannel in, WritableByteChannel out, int bufferSize, long count, Progress progress) 拷贝流,使用NIO,不会关闭channelstatic longcopy(ReadableByteChannel in, WritableByteChannel out, int bufferSize, Progress progress) 拷贝流,使用NIO,不会关闭channelstatic void从缓存中刷出数据static PushbackReadergetPushBackReader(Reader reader, int pushBackSize) 获得PushbackReader如果是PushbackReader强转返回,否则新建static BOMReadergetReader(InputStream in) static BufferedReadergetReader(InputStream in, String charsetName) 获得一个文件读取器static BufferedReadergetReader(InputStream in, Charset charset) 获得一个Readerstatic BufferedReader获得BufferedReader如果是BufferedReader强转返回,否则新建 如果提供的Reader为null返回nullstatic BufferedReader从BOMInputStream中获取Readerstatic OutputStreamWritergetWriter(OutputStream out, String charsetName) 获得一个Writerstatic OutputStreamWritergetWriter(OutputStream out, Charset charset) 获得一个Writerstatic FastByteOutputStreamread(InputStream in) 从流中读取内容,读到输出流中,读取完毕后关闭流static FastByteOutputStreamread(InputStream in, boolean isClose) 从流中读取内容,读到输出流中,读取完毕后可选是否关闭流static Stringread(InputStream in, String charsetName) 从流中读取内容static Stringread(InputStream in, Charset charset) 从流中读取内容,读取完毕后关闭流static String从Reader中读取String,读取完毕后并关闭Readerstatic String从Reader中读取Stringstatic Stringread(FileChannel fileChannel) 从FileChannel中读取UTF-8编码内容static Stringread(FileChannel fileChannel, String charsetName) 从FileChannel中读取内容,读取完毕后并不关闭Channelstatic Stringread(FileChannel fileChannel, Charset charset) 从FileChannel中读取内容static FastByteOutputStreamread(ReadableByteChannel channel) 从流中读取内容,读到输出流中static Stringread(ReadableByteChannel channel, Charset charset) 从流中读取内容,读取完毕后并不关闭流static byte[]readBytes(InputStream in) 从流中读取bytesstatic byte[]readBytes(InputStream in, boolean isClose) 从流中读取bytesstatic byte[]readBytes(InputStream in, int length) 读取指定长度的byte数组,不关闭流static StringreadHex(InputStream in, int length, boolean toLowerCase) 读取16进制字符串static String从流中读取前28个byte并转换为16进制,字母部分使用小写static String从流中读取前28个byte并转换为16进制,字母部分使用大写static <T extends Collection<String>>
TreadLines(InputStream in, String charsetName, T collection) 从流中读取内容static voidreadLines(InputStream in, Charset charset, XConsumer<String> lineHandler) 按行读取数据,针对每行的数据做处理static <T extends Collection<String>>
TreadLines(InputStream in, Charset charset, T collection) 从流中读取内容static voidreadLines(InputStream in, XConsumer<String> lineHandler) 按行读取UTF-8编码数据,针对每行的数据做处理static <T extends Collection<String>>
TreadLines(InputStream in, T collection) 从流中读取内容,使用UTF-8编码static void按行读取数据,针对每行的数据做处理Reader自带编码定义,因此读取数据的编码跟随其编码static <T extends Collection<String>>
T从Reader中读取内容static <T> T从流中读取内容,读到输出流中static intreverseBytesInt(int i) static longreverseBytesLong(long v) static shortreverseBytesShort(short s) static Sink返回一个向file写入的接收器static Sinksink(OutputStream out) 返回一个向out写入的接收器static Sink返回一个向socket写入的接收器。static Sinksink(Path path, OpenOption... options) 返回一个向path写入的接收器.static void即使被声明也不允许直接抛出 这是一种很糟糕的做饭,很容易遭到攻击 清理后捕获并重新抛出异常 参见Java Puzzlers #43static Source返回从file读取的缓冲数据static Sourcesource(InputStream in) 返回从in中读取的缓冲数据static Source返回从socket读取的缓存信息。static Sourcesource(Path path, OpenOption... options) 返回从path读取的缓冲数据static InputStream将指定InputStream转换为InputStream.available()方法可用的流。static BufferedInputStreamstatic BufferedInputStreamtoBuffered(InputStream in, int bufferSize) static BufferedOutputStreamtoBuffered(OutputStream out) static BufferedOutputStreamtoBuffered(OutputStream out, int bufferSize) static BufferedReadertoBuffered(Reader reader) static BufferedReadertoBuffered(Reader reader, int bufferSize) static BufferedWritertoBuffered(Writer writer) static BufferedWritertoBuffered(Writer writer, int bufferSize) static InputStreamtoInputStream(String input) 将指定的字符串转换为输入流,使用平台的默认字符编码编码为字节static InputStreamtoInputStream(String input, String encoding) 将指定的字符串转换为输入流,使用指定的字符编码编码为字节static InputStream将InputStream转换为支持mark标记的流 若原流支持mark标记,则返回原流,否则使用BufferedInputStream包装之static PushbackReadertoPushBackReader(Reader reader, int pushBackSize) 获得PushbackReader如果是PushbackReader强转返回,否则新建static PushbackInputStreamtoPushbackStream(InputStream in, int pushBackSize) 转换为PushbackInputStream如果传入的输入流已经是PushbackInputStream,强转返回,否则新建一个static ByteArrayInputStreamtoStream(byte[] content) String 转为流static InputStream文件转为InputStreamstatic ByteArrayInputStreamString 转为UTF-8编码的字节流流static ByteArrayInputStreamString 转为流static ByteArrayInputStreamString 转为流static InputStream文件转为InputStreamstatic ByteArrayInputStreamstatic StringtoString(byte[] input) 使用平台的默认字符编码将byte[]的内容作为字符串获取static String使用指定的字符编码将字节[]的内容作为字符串获取static StringtoString(InputStream input, String encoding) 使用指定的字符编码将InputStream的内容作为字符串获取 这个方法在内部缓冲输入,所以不需要使用BufferedInputStreamstatic String以字符串的形式获取阅读器的内容static voidwrite(OutputStream out, boolean isCloseOut, byte[] content) 将byte[]写到流中static voidwrite(OutputStream out, boolean isCloseOut, Serializable object) 将多部分内容写到流中static voidwrite(OutputStream out, String charsetName, boolean isCloseOut, Object... contents) 将多部分内容写到流中,自动转换为字符串static voidwrite(OutputStream out, Charset charset, boolean isCloseOut, Object... contents) 将多部分内容写到流中,自动转换为字符串static voidwriteObjects(OutputStream out, boolean isCloseOut, Serializable... contents) 将多部分内容写到流中static voidwriteUtf8(OutputStream out, boolean isCloseOut, Object... contents) 将多部分内容写到流中,自动转换为UTF-8字符串
-
Field Details
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE默认缓存大小 8192- See Also:
-
DEFAULT_LARGE_BUFFER_SIZE
public static final int DEFAULT_LARGE_BUFFER_SIZE默认大缓存大小 32768- See Also:
-
EOF
public static final int EOF数据流末尾- See Also:
-
-
Method Details
-
checkOffsetAndCount
public static void checkOffsetAndCount(long size, long offset, long byteCount) -
reverseBytesShort
public static short reverseBytesShort(short s) -
reverseBytesInt
public static int reverseBytesInt(int i) -
reverseBytesLong
public static long reverseBytesLong(long v) -
sneakyRethrow
即使被声明也不允许直接抛出 这是一种很糟糕的做饭,很容易遭到攻击 清理后捕获并重新抛出异常 参见Java Puzzlers #43- Parameters:
t- 异常
-
arrayRangeEquals
public static boolean arrayRangeEquals(byte[] a, int aOffset, byte[] b, int bOffset, int byteCount) -
copy
-
copy
-
copy
-
copy
-
copy
拷贝流,使用默认Buffer大小,拷贝后不关闭流- Parameters:
in- 输入流out- 输出流- Returns:
- 传输的byte数
-
copy
拷贝流,拷贝后不关闭流- Parameters:
in- 输入流out- 输出流bufferSize- 缓存大小- Returns:
- 传输的byte数
-
copy
拷贝流,拷贝后不关闭流- Parameters:
in- 输入流out- 输出流bufferSize- 缓存大小progress- 进度条- Returns:
- 传输的byte数
-
copy
public static long copy(InputStream in, OutputStream out, int bufferSize, long count, Progress progress) 拷贝流,拷贝后不关闭流- Parameters:
in- 输入流out- 输出流bufferSize- 缓存大小count- 总拷贝长度,-1表示无限制progress- 进度条- Returns:
- 传输的byte数
-
copy
拷贝文件Channel,使用NIO,拷贝后不会关闭channel- Parameters:
inChannel-FileChanneloutChannel-FileChannel- Returns:
- 拷贝的字节数
- Throws:
InternalException- IO异常
-
copy
拷贝流,使用NIO,不会关闭channel- Parameters:
in-ReadableByteChannelout-WritableByteChannel- Returns:
- 拷贝的字节数
- Throws:
InternalException- IO异常
-
copy
public static long copy(ReadableByteChannel in, WritableByteChannel out, int bufferSize) throws InternalException 拷贝流,使用NIO,不会关闭channel- Parameters:
in-ReadableByteChannelout-WritableByteChannelbufferSize- 缓冲大小,如果小于等于0,使用默认- Returns:
- 拷贝的字节数
- Throws:
InternalException- IO异常
-
copy
public static long copy(ReadableByteChannel in, WritableByteChannel out, int bufferSize, Progress progress) throws InternalException 拷贝流,使用NIO,不会关闭channel- Parameters:
in-ReadableByteChannelout-WritableByteChannelbufferSize- 缓冲大小,如果小于等于0,使用默认progress-Progress进度处理器- Returns:
- 拷贝的字节数
- Throws:
InternalException- IO异常
-
copy
public static long copy(ReadableByteChannel in, WritableByteChannel out, int bufferSize, long count, Progress progress) throws InternalException 拷贝流,使用NIO,不会关闭channel- Parameters:
in-ReadableByteChannelout-WritableByteChannelbufferSize- 缓冲大小,如果小于等于0,使用默认count- 读取总长度progress-Progress进度处理器- Returns:
- 拷贝的字节数
- Throws:
InternalException- IO异常
-
copy
文件拷贝实现- Parameters:
in- 输入out- 输出- Returns:
- 拷贝的字节数
-
getReader
获得一个文件读取器- Parameters:
in- 输入流charsetName- 字符集名称- Returns:
- BufferedReader对象
-
getReader
获得一个Reader- Parameters:
in- 输入流charset- 字符集- Returns:
- BufferedReader对象
-
getReader
从BOMInputStream中获取Reader- Parameters:
in-BOMInputStream- Returns:
BufferedReader
-
getReader
- Parameters:
in-InputStream- Returns:
BOMReader
-
getReader
获得BufferedReader如果是BufferedReader强转返回,否则新建 如果提供的Reader为null返回null- Parameters:
reader- 普通Reader,如果为null返回null- Returns:
BufferedReaderor null
-
getPushBackReader
获得PushbackReader如果是PushbackReader强转返回,否则新建- Parameters:
reader- 普通ReaderpushBackSize- 推后的byte数- Returns:
PushbackReader
-
getWriter
获得一个Writer- Parameters:
out- 输入流charsetName- 字符集- Returns:
- OutputStreamWriter对象
-
getWriter
获得一个Writer- Parameters:
out- 输入流charset- 字符集- Returns:
- OutputStreamWriter对象
-
read
从流中读取内容- Parameters:
in- 输入流charsetName- 字符集- Returns:
- 内容
- Throws:
InternalException- 异常
-
read
从流中读取内容,读取完毕后关闭流- Parameters:
in- 输入流,读取完毕后关闭流charset- 字符集- Returns:
- 内容
- Throws:
InternalException- 异常
-
read
从流中读取内容,读到输出流中,读取完毕后关闭流- Parameters:
in- 输入流- Returns:
- 输出流
- Throws:
InternalException- 异常
-
read
从流中读取内容,读到输出流中,读取完毕后可选是否关闭流- Parameters:
in- 输入流isClose- 读取完毕后是否关闭流- Returns:
- 输出流
- Throws:
InternalException- IO异常
-
read
从Reader中读取String,读取完毕后并关闭Reader- Parameters:
reader- Reader- Returns:
- String
- Throws:
InternalException- 异常
-
read
从Reader中读取String- Parameters:
reader-ReaderisClose- 是否关闭Reader- Returns:
- String
- Throws:
InternalException- IO异常
-
read
从FileChannel中读取UTF-8编码内容- Parameters:
fileChannel- 文件管道- Returns:
- 内容
- Throws:
InternalException- 异常
-
read
从FileChannel中读取内容,读取完毕后并不关闭Channel- Parameters:
fileChannel- 文件管道charsetName- 字符集- Returns:
- 内容
- Throws:
InternalException- 异常
-
read
从FileChannel中读取内容- Parameters:
fileChannel- 文件管道charset- 字符集- Returns:
- 内容
- Throws:
InternalException- 异常
-
read
从流中读取内容,读取完毕后并不关闭流- Parameters:
channel- 可读通道,读取完毕后并不关闭通道charset- 字符集- Returns:
- 内容
- Throws:
InternalException- IO异常
-
read
从流中读取内容,读到输出流中- Parameters:
channel- 可读通道,读取完毕后并不关闭通道- Returns:
- 输出流
- Throws:
InternalException- IO异常
-
readBytes
从流中读取bytes- Parameters:
in-InputStream- Returns:
- bytes
- Throws:
InternalException- 异常
-
readBytes
从流中读取bytes- Parameters:
in-InputStreamisClose- 是否关闭输入流- Returns:
- bytes
- Throws:
InternalException- IO异常
-
readBytes
读取指定长度的byte数组,不关闭流- Parameters:
in-InputStream,为null返回nulllength- 长度,小于等于0返回空byte数组- Returns:
- bytes
- Throws:
InternalException- 异常
-
readHex
public static String readHex(InputStream in, int length, boolean toLowerCase) throws InternalException 读取16进制字符串- Parameters:
in-InputStreamlength- 长度toLowerCase- true 传换成小写格式 , false 传换成大写格式- Returns:
- 16进制字符串
- Throws:
InternalException- 异常
-
readHex28Upper
从流中读取前28个byte并转换为16进制,字母部分使用大写- Parameters:
in-InputStream- Returns:
- 16进制字符串
- Throws:
InternalException- 异常
-
readHex28Lower
从流中读取前28个byte并转换为16进制,字母部分使用小写- Parameters:
in-InputStream- Returns:
- 16进制字符串
- Throws:
InternalException- 异常
-
readObject
从流中读取内容,读到输出流中- Type Parameters:
T- 读取对象的类型- Parameters:
in- 输入流- Returns:
- 输出流
- Throws:
InternalException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(InputStream in, T collection) throws InternalException 从流中读取内容,使用UTF-8编码- Type Parameters:
T- 集合类型- Parameters:
in- 输入流collection- 返回集合- Returns:
- 内容
- Throws:
InternalException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(InputStream in, String charsetName, T collection) throws InternalException 从流中读取内容- Type Parameters:
T- 集合类型- Parameters:
in- 输入流charsetName- 字符集collection- 返回集合- Returns:
- 内容
- Throws:
InternalException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(InputStream in, Charset charset, T collection) throws InternalException 从流中读取内容- Type Parameters:
T- 集合类型- Parameters:
in- 输入流charset- 字符集collection- 返回集合- Returns:
- 内容
- Throws:
InternalException- 异常
-
readLines
public static <T extends Collection<String>> T readLines(Reader reader, T collection) throws InternalException 从Reader中读取内容- Type Parameters:
T- 集合类型- Parameters:
reader-Readercollection- 返回集合- Returns:
- 内容
- Throws:
InternalException- 异常
-
readLines
public static void readLines(InputStream in, XConsumer<String> lineHandler) throws InternalException 按行读取UTF-8编码数据,针对每行的数据做处理- Parameters:
in-InputStreamlineHandler- 行处理接口,实现accept方法用于编辑一行的数据后入到指定地方- Throws:
InternalException- 异常
-
readLines
public static void readLines(InputStream in, Charset charset, XConsumer<String> lineHandler) throws InternalException 按行读取数据,针对每行的数据做处理- Parameters:
in-InputStreamcharset-Charset编码lineHandler- 行处理接口,实现accept方法用于编辑一行的数据后入到指定地方- Throws:
InternalException- 异常
-
readLines
按行读取数据,针对每行的数据做处理Reader自带编码定义,因此读取数据的编码跟随其编码- Parameters:
reader-ReaderlineHandler- 行处理接口,实现accept方法用于编辑一行的数据后入到指定地方- Throws:
InternalException- 异常
-
toStream
String 转为流- Parameters:
content- 内容charsetName- 编码- Returns:
- 字节流
-
toStream
String 转为流- Parameters:
content- 内容charset- 编码- Returns:
- 字节流
-
toStream
String 转为UTF-8编码的字节流流- Parameters:
content- 内容- Returns:
- 字节流
-
toStream
文件转为InputStream- Parameters:
file- 文件- Returns:
InputStream
-
toStream
文件转为InputStream- Parameters:
path-Path,非空- Returns:
InputStream
-
toStream
String 转为流- Parameters:
content- 内容bytes- Returns:
- 字节流
-
toStream
- Parameters:
out-ByteArrayOutputStream- Returns:
- 字节流
-
toMarkSupportStream
将InputStream转换为支持mark标记的流 若原流支持mark标记,则返回原流,否则使用BufferedInputStream包装之- Parameters:
in- 流- Returns:
InputStream
-
toPushbackStream
转换为PushbackInputStream如果传入的输入流已经是PushbackInputStream,强转返回,否则新建一个- Parameters:
in-InputStreampushBackSize- 推后的byte数- Returns:
PushbackInputStream
-
toAvailableStream
将指定InputStream转换为InputStream.available()方法可用的流。 在Socket通信流中,服务端未返回数据情况下InputStream.available()方法始终为0因此,在读取前需要调用InputStream.read()读取一个字节(未返回会阻塞),一旦读取到了,InputStream.available()方法就正常了。 需要注意的是,在网络流中,是按照块来传输的,所以InputStream.available()读取到的并非最终长度,而是此次块的长度。 此方法返回对象的规则为:- FileInputStream 返回原对象,因为文件流的available方法本身可用
- 其它InputStream 返回PushbackInputStream
- Parameters:
in- 被转换的流- Returns:
- 转换后的流,可能为
PushbackInputStream
-
toBuffered
- Parameters:
in-InputStream- Returns:
BufferedInputStream
-
toBuffered
- Parameters:
in-InputStreambufferSize- buffer size- Returns:
BufferedInputStream
-
toBuffered
- Parameters:
out-OutputStream- Returns:
BufferedOutputStream
-
toBuffered
- Parameters:
out-OutputStreambufferSize- buffer size- Returns:
BufferedOutputStream
-
toBuffered
- Parameters:
reader-Reader- Returns:
BufferedReader
-
toBuffered
- Parameters:
reader-ReaderbufferSize- buffer size- Returns:
BufferedReader
-
toBuffered
- Parameters:
writer-Writer- Returns:
BufferedWriter
-
toBuffered
- Parameters:
writer-WriterbufferSize- buffer size- Returns:
BufferedWriter
-
toPushBackReader
获得PushbackReader如果是PushbackReader强转返回,否则新建- Parameters:
reader- 普通ReaderpushBackSize- 推后的byte数- Returns:
PushbackReader
-
write
public static void write(OutputStream out, boolean isCloseOut, byte[] content) throws InternalException 将byte[]写到流中- Parameters:
out- 输出流isCloseOut- 写入完毕是否关闭输出流content- 写入的内容- Throws:
InternalException- 异常
-
writeUtf8
public static void writeUtf8(OutputStream out, boolean isCloseOut, Object... contents) throws InternalException 将多部分内容写到流中,自动转换为UTF-8字符串- Parameters:
out- 输出流isCloseOut- 写入完毕是否关闭输出流contents- 写入的内容,调用toString()方法,不包括不会自动换行- Throws:
InternalException- 异常
-
write
public static void write(OutputStream out, String charsetName, boolean isCloseOut, Object... contents) throws InternalException 将多部分内容写到流中,自动转换为字符串- Parameters:
out- 输出流charsetName- 写出的内容的字符集isCloseOut- 写入完毕是否关闭输出流contents- 写入的内容,调用toString()方法,不包括不会自动换行- Throws:
InternalException- 异常
-
write
public static void write(OutputStream out, Charset charset, boolean isCloseOut, Object... contents) throws InternalException 将多部分内容写到流中,自动转换为字符串- Parameters:
out- 输出流charset- 写出的内容的字符集isCloseOut- 写入完毕是否关闭输出流contents- 写入的内容,调用toString()方法,不包括不会自动换行- Throws:
InternalException- 异常
-
write
public static void write(OutputStream out, boolean isCloseOut, Serializable object) throws InternalException 将多部分内容写到流中- Parameters:
out- 输出流isCloseOut- 写入完毕是否关闭输出流object- 写入的对象内容- Throws:
InternalException
-
writeObjects
public static void writeObjects(OutputStream out, boolean isCloseOut, Serializable... contents) throws InternalException 将多部分内容写到流中- Parameters:
out- 输出流isCloseOut- 写入完毕是否关闭输出流contents- 写入的内容- Throws:
InternalException- 异常
-
close
-
close
关闭 关闭失败不会抛出异常- Parameters:
autoCloseable- 被关闭的对象
-
close
-
close
- Parameters:
serverSocket- 被关闭的对象 关闭serverSocket,忽略任何已检查的异常。 如果serverSocket为空,则不执行任何操作
-
close
- Parameters:
channel- 需要被关闭的通道
-
flush
-
contentEquals
public static boolean contentEquals(InputStream input1, InputStream input2) throws InternalException 对比两个流内容是否相同 内部会转换流为BufferedInputStream- Parameters:
input1- 第一个流input2- 第二个流- Returns:
- 两个流的内容一致返回true, 否则false
- Throws:
InternalException- 异常
-
contentEquals
对比两个Reader的内容是否一致 内部会转换流为BufferedInputStream- Parameters:
input1- 第一个readerinput2- 第二个reader- Returns:
- 两个流的内容一致返回true, 否则false
- Throws:
InternalException- 异常
-
contentEqualsIgnoreEOL
对比两个流内容是否相同,忽略EOL字符 内部会转换流为BufferedInputStream- Parameters:
input1- 第一个流input2- 第二个流- Returns:
- 两个流的内容一致返回true, 否则false
- Throws:
InternalException- 异常
-
buffer
返回缓冲区从source读取的字节流 返回的源将对其内存缓冲区执行批量读取- Parameters:
source- 字节流- Returns:
- 返回缓冲区
-
buffer
返回一个新接收器,该接收器缓冲写sink返回的接收器将批量写入sink- Parameters:
sink- 接收一个字节流- Returns:
- 接收缓冲区
-
sink
-
sink
返回一个向socket写入的接收器。优先选择这个方法, 而不是sink(OutputStream),因为这个方法支持超时 当套接字写超时时,套接字将由任务线程异步关闭- Parameters:
socket- 套接字- Returns:
- 接收器
- Throws:
IOException- IO异常
-
source
-
source
返回从file读取的缓冲数据- Parameters:
file- 文件- Returns:
- 缓冲数据
- Throws:
FileNotFoundException- 文件未找到
-
source
返回从path读取的缓冲数据- Parameters:
path- 路径options- 选项- Returns:
- 缓冲数据
- Throws:
IOException- IO异常
-
sink
返回一个向file写入的接收器- Parameters:
file- 文件- Returns:
- 接收器
- Throws:
FileNotFoundException- 文件未找到
-
appendingSink
返回一个附加到file的接收器- Parameters:
file- 文件- Returns:
- 接收器
- Throws:
FileNotFoundException- 文件未找到
-
sink
返回一个向path写入的接收器.- Parameters:
path- 路径options- 属性- Returns:
- 写入的数据的接收器
- Throws:
IOException- IO异常
-
blackhole
-
source
返回从socket读取的缓存信息。与source(InputStream)相比, 更喜欢这个方法, 因为这个方法支持超时。当套接字读取超时时,套接字将由任务线程异步关闭- Parameters:
socket- 套接字- Returns:
- 取的缓存信息
- Throws:
IOException- IO异常
-
toInputStream
将指定的字符串转换为输入流,使用平台的默认字符编码编码为字节- Parameters:
input- 要转换的字符串- Returns:
- 一个输入流
-
toInputStream
将指定的字符串转换为输入流,使用指定的字符编码编码为字节- Parameters:
input- 要转换的字符串encoding- 要使用的编码,null表示平台默认值- Returns:
- 一个输入流
- Throws:
IOException- 如果编码无效
-
toString
使用指定的字符编码将InputStream的内容作为字符串获取 这个方法在内部缓冲输入,所以不需要使用BufferedInputStream- Parameters:
input- 要从中读取的InputStreamencoding- 要使用的编码,null表示平台默认值- Returns:
- 所请求的字符串
- Throws:
NullPointerException- 如果输入为空IOException- 如果发生I/O错误
-
copy
使用平台的默认字符编码将字节从InputStream复制到写入器上的字符 该方法在内部缓冲输入,因此不需要使用 BufferedInputStream 方法使用InputStreamReader- Parameters:
input- 要从中读取的InputStreamoutput- 要写入的输出者
-
copy
使用指定的字符编码将字节从InputStream复制到写入器上的字符. 该方法在内部缓冲输入,因此不需要使用 BufferedInputStream 方法使用InputStreamReader- Parameters:
input- 要从中读取的InputStreamoutput- 要写入的输出者encoding- 要使用的编码,null表示平台默认值- Throws:
NullPointerException- 如果输入为空IOException- 如果发生I/O错误
-
toString
-
toString
使用平台的默认字符编码将byte[]的内容作为字符串获取- Parameters:
input- 要从中读取的字节数组- Returns:
- 所请求的字符串
-
toString
使用指定的字符编码将字节[]的内容作为字符串获取- Parameters:
input- 要从中读取的字节数组encoding- 要使用的编码,null表示平台默认值- Returns:
- 所请求的字符串
- Throws:
NullPointerException- 如果输入为空IOException- 如果发生I/O错误(从未发生)
-