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

歡迎訪問 生活随笔!

生活随笔

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

java

Java IO流学习总结八:Commons IO 2.5-IOUtils

發(fā)布時間:2024/9/30 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java IO流学习总结八:Commons IO 2.5-IOUtils 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java IO流學習總結(jié)八:Commons IO 2.5-IOUtils

轉(zhuǎn)載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/55051917
本文出自【趙彥軍的博客】

在上一篇文章中,介紹了IO FileUtils的常規(guī)用法,今天介紹IOUtils的使用。

福利

另外我已經(jīng)把Commons IO 2.5的源碼發(fā)布到Jcenter,大家就不用下載jar包了,可以直接引用。

  • Maven引用
<dependency><groupId>org.apache.commons.io</groupId><artifactId>commonsIO</artifactId><version>2.5.0</version><type>pom</type> </dependency>
  • Gradle引用
compile 'org.apache.commons.io:commonsIO:2.5.0'

IOUtils流操作的相關(guān)方法

  • copy:這個方法可以拷貝流,算是這個工具類中使用最多的方法了。支持多種數(shù)據(jù)間的拷貝。copy內(nèi)部使用的其實還是copyLarge方法。因為copy能拷貝Integer.MAX_VALUE的字節(jié)數(shù)據(jù),即2^31-1。
copy(inputstream,outputstream) copy(inputstream,writer) copy(inputstream,writer,encoding) copy(reader,outputstream) copy(reader,writer) copy(reader,writer,encoding)
  • copyLarge:這個方法適合拷貝較大的數(shù)據(jù)流,比如2G以上。
copyLarge(reader,writer) 默認會用1024*4的buffer來讀取 copyLarge(reader,writer,buffer)
  • 獲取輸入流
//通過文本獲取輸入流 , 可以指定編碼格式 InputStream toInputStream(final String input, final Charset encoding)InputStream toInputStream(final String input, final String encoding)//獲取一個緩沖輸入流,默認緩沖大小 1KB InputStream toBufferedInputStream(final InputStream input) //獲取一個指定緩沖流的大小的輸入流 InputStream toBufferedInputStream(final InputStream input, int size)//把流的全部內(nèi)容放在另一個流中 BufferedReader toBufferedReader(final Reader reader)//把流的全部內(nèi)容放在另一個流中 BufferedReader toBufferedReader(final Reader reader, int size)
  • 獲取輸入流里面的內(nèi)容
// 輸入流 --》 字符串 String toString(final InputStream input, final Charset encoding)// 輸入流 --》 字符串 String toString(final InputStream input, final String encoding)// 字符輸入流 --》 字符串 String toString(final Reader input)// 字符數(shù)組 --》 字符串 String toString(final byte[] input, final String encoding)//輸入流 --》 字符數(shù)組 byte[] toByteArray(final InputStream input)//輸入流 --》 字符數(shù)組 byte[] toByteArray(final Reader input, final Charset encoding)//輸入流 --》 字符數(shù)組 byte[] toByteArray(final Reader input, final String encoding) //URL --》 字符數(shù)組 byte[] toByteArray(final URI uri)// URL --》 字符串 String toString(final URL url, final Charset encoding)// URL --》 字符串 String toString(final URL url, final String encoding)// URLConnection --》 字符串 byte[] toByteArray(final URLConnection urlConn)
  • 字符串讀寫
List<String> readLines(InputStream input) List<String> readLines(InputStream input, final Charset encoding) List<String> readLines(InputStream input, final String encoding)List<String> readLines(Reader input)void writeLines(Collection<?> lines, String lineEnding, OutputStream output)void writeLines(Collection<?> lines, String lineEnding, OutputStream output, Charset encoding)void writeLines(Collection<?> lines, String lineEnding, OutputStream output, final encoding)void writeLines(Collection<?> lines, String lineEnding,Writer writer)

小例子:

public void readLinesTest(){try{InputStream is = new FileInputStream("D://test1.txt");List<String> lines = IOUtils.readLines(is);for(String line : lines){System.out.println(line);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

結(jié)果:

hello world
  • write:這個方法可以把數(shù)據(jù)寫入到輸出流中
write(byte[] data, OutputStream output) write(byte[] data, Writer output) write(byte[] data, Writer output, Charset encoding) write(byte[] data, Writer output, String encoding)write(char[] data, OutputStream output) write(char[] data, OutputStream output, Charset encoding) write(char[] data, OutputStream output, String encoding) write(char[] data, Writer output)write(CharSequence data, OutputStream output) write(CharSequence data, OutputStream output, Charset encoding) write(CharSequence data, OutputStream output, String encoding) write(CharSequence data, Writer output)write(StringBuffer data, OutputStream output) write(StringBuffer data, OutputStream output, String encoding) write(StringBuffer data, Writer output)write(String data, OutputStream output) write(String data, OutputStream output, Charset encoding) write(String data, OutputStream output, String encoding) write(String data, Writer output)
  • read:從一個流中讀取內(nèi)容
read(inputstream,byte[]) read(inputstream,byte[],offset,length) //offset是buffer的偏移值,length是讀取的長度read(reader,char[]) read(reader,char[],offset,length)

下例子:

public void readTest(){try{byte[] bytes = new byte[4];InputStream is = IOUtils.toInputStream("hello world");IOUtils.read(is, bytes);System.out.println(new String(bytes));bytes = new byte[10];is = IOUtils.toInputStream("hello world");IOUtils.read(is, bytes, 2, 4);System.out.println(new String(bytes));} catch (IOException e) {e.printStackTrace();}}
  • readFully:這個方法會讀取指定長度的流,如果讀取的長度不夠,就會拋出異常
readFully(inputstream,byte[]) readFully(inputstream,byte[],offset,length) readFully(reader,charp[]) readFully(reader,char[],offset,length)

小例子:

public void readFullyTest(){byte[] bytes = new byte[4];InputStream is = IOUtils.toInputStream("hello world");try {IOUtils.readFully(is,bytes);System.out.println(new String(bytes));} catch (IOException e) {e.printStackTrace();}}

輸出:hell
報出異常:

java.io.EOFException: Length to read: 20 actual: 11at org.apache.commons.io.IOUtils.readFully(IOUtils.java:2539)at org.apache.commons.io.IOUtils.readFully(IOUtils.java:2558)at test.java.IOUtilsTest.readFullyTest(IOUtilsTest.java:22)...
  • contentEquals:比較兩個流是否相等
contentEquals(InputStream input1, InputStream input2) contentEquals(Reader input1, Reader input2)
  • contentEqualsIgnoreEOL:比較兩個流,忽略換行符
contentEqualsIgnoreEOL(Reader input1, Reader input2)
  • skip:這個方法用于跳過指定長度的流
long skip(inputstream,skip_length) long skip(ReadableByteChannel,skip_length) long skip(reader,skip_length)
  • skipFully:這個方法類似skip,只是如果忽略的長度大于現(xiàn)有的長度,就會拋出異常。
skipFully(inputstream,toSkip) skipFully(readableByteChannel,toSkip) skipFully(inputstream,toSkip)

小例子:

public void skipFullyTest(){InputStream is = IOUtils.toInputStream("hello world");try {IOUtils.skipFully(is,30);System.out.println(IOUtils.toString(is,"utf-8"));} catch (IOException e) {e.printStackTrace();} }
  • ineIterator:讀取流,返回迭代器
LineIterator lineIterator(InputStream input, Charset encoding) LineIterator lineIterator(InputStream input, String encoding) LineIterator lineIterator(Reader reader)
  • close:關(guān)閉流
//關(guān)閉 URLConnection void close(final URLConnection conn)//closeQuietly 忽略nulls和異常,關(guān)閉某個流 void closeQuietly(final Reader input)void closeQuietly(final Writer output)void closeQuietly(final InputStream input)void closeQuietly(final OutputStream output)void closeQuietly(final Socket sock)void closeQuietly(final ServerSocket sock)
  • 小例子1
package com.app; import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.IOUtils;public class A8 {public static void main(String[] args) {String meString = "哈哈哈哈,下班了,hello" ;try {InputStream inputStream = IOUtils.toInputStream( meString, "utf-8" ) ;String mes = IOUtils.toString( inputStream , "utf-8" ) ;System.out.println( mes );} catch (IOException e) {e.printStackTrace();}} }

效果:

哈哈哈哈,下班了,hello
  • 小例子2 : 模擬了http 請求
package com.app; import java.io.IOException; import java.net.URL;import org.apache.commons.io.IOUtils;public class A8 {public static void main(String[] args) {String meString = "http://www.baidu.com" ;try {//模擬了http 請求String mes = IOUtils.toString( new URL( meString ) , "utf-8") ;System.out.println( mes );} catch (IOException e) {e.printStackTrace();}} }

運行結(jié)果:


個人微信號:zhaoyanjun125 , 歡迎關(guān)注

總結(jié)

以上是生活随笔為你收集整理的Java IO流学习总结八:Commons IO 2.5-IOUtils的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91射| 午夜免费看片 | 日韩亚洲视频在线观看 | 天天射网站 | 欧美黑人激情 | 久久这里有 | 我要看免费毛片 | 国产最新视频 | 超碰资源在线 | 性欢交69国产精品 | 奇米影视四色7777 | 欧美日韩一二区 | 天天干天天摸 | 欧美日本一本 | 久久香焦| 亚洲精品国产a | 免费大片黄在线观看视频网站 | 紧身裙女教师三上悠亚红杏 | 天天夜夜久久 | 69日本xxxxxxxx96 | 国产一区二区在线免费观看视频 | 熟妇五十路六十路息与子 | 欧美久久99| 色操插| 免费看成人aa片无码视频羞羞网 | 成人午夜性视频 | 丝袜人妻一区二区 | 国产精品一区在线免费观看 | 超能一家人电影免费喜剧在线观看 | 日本一区二区免费电影 | 无码人妻丰满熟妇区毛片蜜桃精品 | 免费男女视频 | 久久影业| 中日韩av电影 | 99久久精品免费看国产免费软件 | 国产伦人伦偷精品视频 | 麻豆一区在线 | np视频| 国产 日韩 欧美 在线 | 国产精品久久久久久 | 欧美激情第五页 | 妖精视频污 | eeuss国产一区二区三区黑人 | 精品国自产拍在线观看 | 欧美乱妇15p| 日本在线高清视频 | 国产福利在线观看 | 男生插女生的网站 | 欧美精品久久久久久久久老牛影院 | 国产精品久久久久久久久久久不卡 | 日韩av免费在线看 | 亚洲精品国产无码 | 懂色av粉嫩av蜜乳av | 久久一区二区视频 | 亚洲中文字幕一区二区 | 久久黄色| 69国产视频 | 女人私密又肥又大 | 欧美成人综合在线 | 国产精品色在线 | 免看黄大片aa | 三级av在线播放 | 中文字幕日韩三级片 | 日韩女人性猛交 | 亚洲天堂视频在线 | 亚洲欧美日韩精品色xxx | 国产视频分类 | 日本精品一区在线观看 | 中国a级黄色片 | 懂色av一区二区三区蜜臀 | 一级a毛片免费观看久久精品 | 四虎成人在线视频 | 日本人与黑人做爰视频 | 久久国产精品无码一级毛片 | 亚洲熟女乱综合一区二区三区 | 欧色丰满女同hd | 久久免费少妇高潮久久精品99 | 中文字幕伦理 | 成人免费看黄 | 91精品久久久久久久久中文字幕 | 国产又粗又大又爽 | 成人免费福利视频 | 99热成人| 色一情一伦一子一伦一区 | 自拍21区 | 亚洲精品视频在线观看视频 | 波多野结衣之潜藏淫欲 | 美女又黄又免费 | 一起草在线视频 | 免费级毛片| 欧美顶级毛片在线播放 | 天堂福利视频 | 国产无套在线观看 | 色吊妞| 久久免费在线观看 | 久久精品国产亚洲AV熟女 | 青草视频免费看 | 欧美伦乱| 欧美中文日韩 |