日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java常用类(四):IOUtils类

發布時間:2023/12/20 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java常用类(四):IOUtils类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1. 什么是IOUtils類?

1.1 什么是Common IO

1.2 添加相關maven依賴

1.3 什么是IOUtils

2.?IOUtils類常用方法

2.1 拷貝流

2.2 獲取流

2.3? 獲取緩沖流

2.4 將輸入流轉換成字符串

2.5 將輸入流轉換成字符數組

2.6 字符串讀寫

2.7 從一個流中讀取內容

2.8 把數據寫入到輸出流中

2.9 從一個流中讀取內容,如果讀取的長度不夠,就會拋出異常

2.10 比較兩個流是否相等

2.11 跳過執行長度的流

2.12 讀取流,返回迭代器

2.13 關閉流


1. 什么是IOUtils類?

1.1 什么是Common IO

Common IO 是一個工具庫,用來幫助開發IO功能。

包含了:IOUtils的使用,FileUtils的使用,FilenameUtils的使用

1.2 添加相關maven依賴

<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version> </dependency>

1.3 什么是IOUtils

IOUtils包含一些工具類,用于處理讀,寫和拷貝。這些方法基于InputStream,? OutputStream,? Reader?和?Writer工作。

2.?IOUtils類常用方法

2.1 拷貝流

(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)

2.2 獲取流

(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)

2.3? 獲取緩沖流

(1)IOUtils.buffer(InputStream inputStream)

(2)IOUtils.buffer(OutputStream outputStream)

(3)IOUtils.buffer(Reader reader)

(4)IOUtils.buffer(Writer writer)

2.4 將輸入流轉換成字符串

(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)

2.5 將輸入流轉換成字符數組

(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)

2.6 字符串讀寫

(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)

2.7 從一個流中讀取內容

(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)

2.8 把數據寫入到輸出流中

(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)

2.9 從一個流中讀取內容,如果讀取的長度不夠,就會拋出異常

(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)?

2.10 比較兩個流是否相等

(1)IOUtils.contentEquals(Reader input1, Reader input2)

(2)IOUtils.contentEqualsIgnoreEOL(Reader input1, Reader input2)

// 比較兩個流,忽略換行符

2.11 跳過執行長度的流

(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)

?

2.12 讀取流,返回迭代器

(1)IOUtils.lineIterator(Reader reader)

(2)IOUtils.lineIterator(InputStream input, Charset encoding)

(3)IOUtils.lineIterator(InputStream input, String encoding)

2.13 關閉流

IOUtils.close(URLConnection conn)

// 其他的關閉方法推薦使用 Closeable.close()

總結

以上是生活随笔為你收集整理的Java常用类(四):IOUtils类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。