赞
踩
目录
2.9 从一个流中读取内容,如果读取的长度不够,就会抛出异常
Common IO 是一个工具库,用来帮助开发IO功能。
包含了:IOUtils的使用,FileUtils的使用,FilenameUtils的使用
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.6</version>
- </dependency>
IOUtils包含一些工具类,用于处理读,写和拷贝。这些方法基于InputStream, OutputStream, Reader 和 Writer工作。
(1)IOUtils.copy(InputStream input, OutputStream output)
// 此方法有多个重载方法,满足不同的输入输出流
(2)IOUtils.copy(InputStream input, OutputStream output, int bufferSize)
(3)IOUtils.copy(InputStream input, Writer output, String inputEncoding)
(4)IOUtils.copy(Reader input, Writer output)
(5)IOUtils.copy(Reader input, OutputStream output, String outputEncoding)
// 这个方法适合拷贝较大的数据流,比如2G以上
(6)IOUtils.copyLarge(Reader input, Writer output) // 默认会用1024*4的buffer来读取
(7)IOUtils.copyLarge(Reader input, Writer output, char[] buffer)
(1)IOUtils.toInputStream(String input, String encoding)
// 通过文本获取输入流 , 可以指定编码格式
(2)IOUtils.toInputStream(String input, Charset encoding)
(3)IOUtils.toBufferedInputStream(InputStream input)
// 获取一个缓冲输入流,默认缓冲大小 1KB
(4)IOUtils.toBufferedInputStream(InputStream input, int size)
// 获取一个指定缓冲流的大小的输入流
(5)IOUtils.toBufferedReader(Reader reader)
// 获取一个字符缓冲流
(6)IOUtils.toBufferedReader(Reader reader, int size)
(1)IOUtils.buffer(InputStream inputStream)
(2)IOUtils.buffer(OutputStream outputStream)
(3)IOUtils.buffer(Reader reader)
(4)IOUtils.buffer(Writer writer)
(1)IOUtils.toString(Reader input)
(2)IOUtils.toString(byte[] input, String encoding)
(3)IOUtils.toString(InputStream input, Charset encoding)
(4)IOUtils.toString(InputStream input, String encoding)
(5)IOUtils.toString(URI uri, String encoding)
(6)IOUtils.toString(URL url, String encoding)
(1)IOUtils.toByteArray(InputStream input)
(2)IOUtils.toByteArray(InputStream input, int size)
(3)IOUtils.toByteArray(URI uri)
(4)IOUtils.toByteArray(URL url)
(5)IOUtils.toByteArray(URLConnection urlConn)
(6)IOUtils.toByteArray(Reader input, String encoding)
(1)IOUtils.readLines(Reader input)
(2)IOUtils.readLines(InputStream input, Charset encoding)
(3)IOUtils.readLines(InputStream input, String encoding)
(4)IOUtils.writeLines(Collection<?> lines, String lineEnding, Writer writer)
(5)IOUtils.writeLines(Collection<?> lines, String lineEnding, OutputStream output, Charset encoding)
(6)IOUtils.writeLines(Collection<?> lines, String lineEnding, OutputStream output, String encoding)
(1)IOUtils.read(InputStream input, byte[] buffer)
(2)IOUtils.read(InputStream input, byte[] buffer, int offset, int length)
(3)IOUtils.read(Reader input, char[] buffer)
(4)IOUtils.read(Reader input, char[] buffer, int offset, int length)
(1)IOUtils.write(byte[] data, OutputStream output)
(2)IOUtils.write(byte[] data, Writer output, Charset encoding)
(3)IOUtils.write(byte[] data, Writer output, String encoding)
(4)IOUtils.write(char[] data, Writer output)
(5)IOUtils.write(char[] data, OutputStream output, Charset encoding)
(6)IOUtils.write(char[] data, OutputStream output, String encoding)
(7)IOUtils.write(String data, Writer output)
(8)IOUtils.write(CharSequence data, Writer output)
(1)IOUtils.readFully(InputStream input, int length)
(2)IOUtils.readFully(InputStream input, byte[] buffer)
(3)IOUtils.readFully(InputStream input, byte[] buffer, int offset, int length)
(4)IOUtils.readFully(Reader input, char[] buffer)
(5)IOUtils.readFully(Reader input, char[] buffer, int offset, int length)
(6)IOUtils.contentEquals(InputStream input1, InputStream input2)
(1)IOUtils.contentEquals(Reader input1, Reader input2)
(2)IOUtils.contentEqualsIgnoreEOL(Reader input1, Reader input2)
// 比较两个流,忽略换行符
(1)IOUtils.skip(InputStream input, long toSkip)
// 跳过指定长度的流
(2)IOUtils.skip(Reader input, long toSkip)
(3)IOUtils.skipFully(InputStream input, long toSkip)
// 如果忽略的长度大于现有长度,就会抛出异常
(4)IOUtils.skipFully(Reader input, long toSkip)
(1)IOUtils.lineIterator(Reader reader)
(2)IOUtils.lineIterator(InputStream input, Charset encoding)
(3)IOUtils.lineIterator(InputStream input, String encoding)
IOUtils.close(URLConnection conn)
// 其他的关闭方法推荐使用 Closeable.close()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。