Java IO流学习总结七:Commons IO 2.5-FileUtils
Java IO流學(xué)習(xí)總結(jié)七:Commons IO 2.5-FileUtils
轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/zhaoyanjun6/article/details/54972773
本文出自【趙彥軍的博客】
Java IO流學(xué)習(xí)總結(jié)一:輸入輸出流
Java IO流學(xué)習(xí)總結(jié)二:File
Java IO流學(xué)習(xí)總結(jié)三:緩沖流-BufferedInputStream、BufferedOutputStream
Java IO流學(xué)習(xí)總結(jié)四:緩沖流-BufferedReader、BufferedWriter
Java IO流學(xué)習(xí)總結(jié)五:轉(zhuǎn)換流-InputStreamReader、OutputStreamWriter
Java IO流學(xué)習(xí)總結(jié)六:ByteArrayInputStream、ByteArrayOutputStream
Java IO流學(xué)習(xí)總結(jié)七:Commons IO 2.5-FileUtils
2021年 Java Okio-更加高效易用的IO庫(kù)
在上面的幾篇文章中,介紹了IO的常規(guī)用法,今天介紹Commons IO框架的使用。
Commons IO簡(jiǎn)介
Apache Commons IO是Apache基金會(huì)創(chuàng)建并維護(hù)的Java函數(shù)庫(kù)。它提供了許多類使得開(kāi)發(fā)者的常見(jiàn)任務(wù)變得簡(jiǎn)單,同時(shí)減少重復(fù)代碼,這些代碼可能遍布于每個(gè)獨(dú)立的項(xiàng)目中,你卻不得不重復(fù)的編寫。這些類由經(jīng)驗(yàn)豐富的開(kāi)發(fā)者維護(hù),對(duì)各種問(wèn)題的邊界條件考慮周到,并持續(xù)修復(fù)相關(guān)bug。最新版本2.5
下載地址:http://commons.apache.org/proper/commons-io/download_io.cgi
福利
另外我已經(jīng)把Commons IO 2.5的源碼發(fā)布到Jcenter,大家就不用下載jar包了,可以直接引用。
- Maven引用
- Gradle引用
FileUtils 文件操作工具類
- 復(fù)制文件夾
- 復(fù)制文件
實(shí)戰(zhàn)演練
- 復(fù)制文件夾
- 復(fù)制文件
- 下載文件 copyURLToFile(final URL source, final File destination)
- 把字符串寫入文件
小例子
package com.app;import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {String mes = "下班了" ;String filePath2 = "F:/abc.xml" ;File file2 = new File( filePath2 ) ;try {FileUtils.writeStringToFile( file2 , mes , "UTF-8" , true ); }catch (IOException e) {e.printStackTrace();}} }- 把字節(jié)數(shù)組寫入文件
小例子
package com.app;import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {String mes = "哈哈,下班了" ;String filePath2 = "F:/abc.txt" ;File file2 = new File( filePath2 ) ;try {byte[] mesArray = mes.getBytes() ;FileUtils.writeByteArrayToFile( file2 , mesArray );}catch (IOException e) {e.printStackTrace();}} }- 把集合里面的內(nèi)容寫入文件
小例子1
package com.app; import java.io.File; import java.io.IOException; import java.util.ArrayList;import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>() ;String mes = "哈哈,下班了" ;String mes2 = "回家,回家" ;list.add( mes ) ; //第一行數(shù)據(jù)list.add( mes2 ) ; //第二行數(shù)據(jù)String filePath2 = "F:/abc.txt" ;File file2 = new File( filePath2 ) ;try {FileUtils.writeLines( file2 , list );}catch (IOException e) {e.printStackTrace();}} }結(jié)果:
小例子2
package com.app; import java.io.File; import java.io.IOException; import java.util.ArrayList;import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>() ;String mes = "哈哈,下班了" ;String mes2 = "回家,回家" ;list.add( mes ) ;list.add( mes2 ) ;String filePath2 = "F:/abc.txt" ;File file2 = new File( filePath2 ) ;try {//每一行以。結(jié)尾FileUtils.writeLines( file2 , list, "。");}catch (IOException e) {e.printStackTrace();}} }結(jié)果:
- 往文件里面寫內(nèi)容
小例子
package com.app; import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {String mes = "哈哈,下班了" ;String filePath2 = "F:/abc.txt" ;File file2 = new File( filePath2 ) ;try {FileUtils.write( file2 , mes , "utf-8" ,true );}catch (IOException e) {e.printStackTrace();}} }- 文件移動(dòng)
- 清空和刪除文件夾
- 創(chuàng)建文件夾
小例子1
package com.app; import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {String filePath = "F:/123/abc/abc.txt" ;File file = new File( filePath ) ;try {//一次可以創(chuàng)建單級(jí)或者多級(jí)目錄FileUtils.forceMkdir(file);}catch (IOException e) {e.printStackTrace();}} }效果圖:
小例子1
package com.app; import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {String filePath = "F:/123/abc/abc.txt" ;File file = new File( filePath ) ;try {//創(chuàng)建文件的父級(jí)目錄FileUtils.forceMkdirParent(file);}catch (IOException e) {e.printStackTrace();}} }效果:
- 文件獲取輸入/輸出流
- 讀取文件
- 測(cè)試兩個(gè)文件的修改時(shí)間那個(gè)比較新/老
- 其他
小例子
package com.app; import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils;public class A8 {public static void main(String[] args) {String filePath = "F:/123" ;File file = new File( filePath ) ;File child = new File("F:/123/abc/123.txt") ;try {boolean hasChild = FileUtils.directoryContains( file , child) ;System.out.println( hasChild );}catch (IOException e) {e.printStackTrace();}} }效果圖
個(gè)人微信號(hào):zhaoyanjun125 , 歡迎關(guān)注
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-C4nDblzT-1599192189448)(http://o7rvuansr.bkt.clouddn.com/weixin200.jpg)]
總結(jié)
以上是生活随笔為你收集整理的Java IO流学习总结七:Commons IO 2.5-FileUtils的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java IO流学习总结六:ByteAr
- 下一篇: Java IO流学习总结八:Common