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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FileUtils工具类的使用

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FileUtils工具类的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

建議看原文格式清晰:https://blog.csdn.net/qq_36614559/article/details/81013244?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<code class="language-html">package cn.xingoo.learn.commons; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.FileFileFilter; import org.apache.commons.io.filefilter.FileFilterUtils; import org.apache.commons.io.filefilter.IOFileFilter; import org.junit.Test; import java.io.*; import java.net.URL; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.zip.CRC32; /** * FileUtils支持很多文件操作,如 * * 文件寫入 * 讀取文件 * 創建目錄 * 拷貝文件和目錄 * 刪除文件和目錄 * 從URL轉換 * 基于統配和過濾查看文件和目錄 * 比較文件內容 * 文件的更新時間 * 檢查校驗碼 * * Created by xxh on 2016/11/24. */ public class FileUtilsTest { private static File parent = new File("D://test"); @Test public void getDirTest(){ //獲得基本的信息 System.out.println(FileUtils.getTempDirectory());//獲取臨時目錄 java.io.tmpdir,getUserDirectoryPath返回路徑字符串 System.out.println(FileUtils.getUserDirectory());//獲取用戶主目錄 user.home,getUserDirectoryPath返回路徑字符串 //以可讀的方式,返回文件的大小EB, PB, TB, GB, MB, KB or bytes System.out.println(FileUtils.byteCountToDisplaySize(10000000)); System.out.println(FileUtils.byteCountToDisplaySize(1)); } @Test public void openStream() throws IOException { //獲取文件輸入和輸出的文件流 //文件是目錄或者不存在,都會跑出異常 InputStream in = FileUtils.openInputStream(new File("D://test/test1")); OutputStream out = FileUtils.openOutputStream(new File("D://test/test2")); out = FileUtils.openOutputStream(new File("D://test/test3"),true);//是否追加的形式添加內容 } @Test public void FileOperation() throws IOException { //創建文件,如果文件存在則更新時間;如果不存在,創建一個空文件 //創建空文件的方式為: // final OutputStream out = openOutputStream(file); // IOUtils.closeQuietly(out); FileUtils.touch(new File("D://test/test4")); //文件內容的對比 FileUtils.contentEquals(new File("D://test/test1"),new File("D://test/test2")); FileUtils.contentEqualsIgnoreEOL(new File("D://test/test1"),new File("D://test/test2"),null);//忽略換行符,第三個參數是字符集 //根據URL獲取文件 FileUtils.toFile(new URL("file://D://test/test1")); FileUtils.toFiles(null); FileUtils.toURLs(new File[]{new File("D://test/test1")}); //文件拷貝 FileUtils.copyFileToDirectory(new File("/test1"),new File("/dir"),true);//第三個參數是否更新時間 FileUtils.copyFile(new File("/source"),new File("/target"),true);//TODO 閱讀doCopy源碼 //目錄拷貝 File srcDir = new File("/source"); File destDir = new File("/target"); FileUtils.copyDirectoryToDirectory(new File("/source"),new File("/target")); FileUtils.copyDirectory(new File("/source"),new File("/target")); FileUtils.copyDirectory(srcDir, destDir, DirectoryFileFilter.DIRECTORY);//僅僅拷貝目錄 IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt");// 創建.txt過濾器 IOFileFilter txtFiles = FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter); // 創建包含目錄或者txt文件的過濾器 FileFilter filter = FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles); // Copy using the filter FileUtils.copyDirectory(srcDir, destDir, filter);//TODO 閱讀doCopyDirectory源碼 //文件拷貝 FileUtils.copyInputStreamToFile(new FileInputStream("/test"),new File("/test")); FileUtils.copyURLToFile(new URL("file:/test"),new File("/test")); //刪除文件 FileUtils.deleteDirectory(new File("/test"));//刪除目錄下所有的內容 FileUtils.deleteQuietly(new File("/test"));//如果是目錄,會級聯刪除;不會拋出異常 //判斷文件是否存在 FileUtils.directoryContains(new File("/dir"),new File("/file")); //清除目錄中的內容,不會刪除該目錄; //先verifiedListFiles檢查目錄,檢查目錄是否為目錄、是否存在,然后調用listFiles,如果返回null,則拋出異常 //遍歷目錄中的文件,如果是目錄則遞歸刪除;如果是文件則強制刪除,刪除失敗(文件不存在或無法刪除)都會拋出異常 FileUtils.cleanDirectory(new File("/dir"));//TODO verifiedListFiles <------2016/11/24 //等待一個文件xx秒,知道文件創建后才返回。每max(100,remainning)循環檢查一次 while(FileUtils.waitFor(new File("/dir"),60)){} //讀取目標文件,內部調用IOUtils.toString(inputstream,"utf-8") String str = FileUtils.readFileToString(new File("/dir"),"utf-8"); //內部調用IOUtils.toByteArray(in) byte[] bytes = FileUtils.readFileToByteArray(new File("/dir")); //內部調用IOUtils.readLines(in, Charsets.toCharset(encoding)); List<String> strs = FileUtils.readLines(new File("/dir"),"utf-8"); //內部調用IOUtils.lineIterator(in, encoding) FileUtils.lineIterator(new File("/dir"),"utf-8"); //四個參數分別為:目標文件,寫入的字符串,字符集,是否追加 FileUtils.writeStringToFile(new File("/target"),"string","utf-8",true); //write可以接受charsequence類型的數據,string,stringbuilder和stringbuffer都是實現了charsequence接口 FileUtils.write(new File("/target"),"target char sequence","utf-8",true); FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes());//(file,字符數組) FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes(),true);//(file,字符數組,是否追加) FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes(),0,10);//(file,字符數組,起始位置,結束位置) FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes(),0,10,true);//(file,字符數組,起始位置,結束位置,是否追加) //writeLines多了一個lineEnding參數 FileUtils.writeLines(new File("/target"),"utf-8", FileUtils.readLines(new File("/target"),"utf-8")); //強制刪除 FileUtils.forceDelete(new File("/target")); //在JVM FileUtils.forceDeleteOnExit(new File("/target")); //強制創建文件目錄,如果文件存在,會拋出異常 FileUtils.forceMkdir(new File("/target")); //強制創建父級目錄 FileUtils.forceMkdirParent(new File("/xxxx/target")); //如果是文件,直接讀取文件大小;如果是目錄,級聯計算文件下的所有文件大小 FileUtils.sizeOf(new File("/target"));//返回Long FileUtils.sizeOfAsBigInteger(new File("/target"));//返回BigInteger FileUtils.sizeOfDirectory(new File("/target")); FileUtils.sizeOfDirectoryAsBigInteger(new File("/target")); //對比文件新舊 FileUtils.isFileNewer(new File("/target"),new File("/file")); FileUtils.isFileOlder(new File("/target"), new Date()); FileUtils.checksum(new File("/target"),new CRC32()); FileUtils.checksumCRC32(new File("/target")); FileUtils.moveDirectory(new File("/target"),new File("/file")); FileUtils.moveDirectoryToDirectory(new File("/target"),new File("/file"),true); FileUtils.moveFile(new File("/target"),new File("/file")); FileUtils.moveFileToDirectory(new File("/target"),new File("/dir"),true); FileUtils.moveToDirectory(new File("/target"),new File("/dir"),true); FileUtils.isSymlink(new File("/target")); } @Test public void findFiles(){ //返回文件的列表 List<File> files = (List<File>) FileUtils.listFiles(parent,new String[]{"test1","test2"},true);//TODO 重點看一下源碼 //返回文件迭代器 Iterator<File> files_iter = FileUtils.iterateFiles(parent,new String[]{"test1","test3"},true); //把collection<File>轉換成File[] FileUtils.convertFileCollectionToFileArray(files); } }</code>

?

總結

以上是生活随笔為你收集整理的FileUtils工具类的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久久啊啊啊 | 丁香四月婷婷 | 亚洲中文字幕无码一区二区三区 | 国产日韩精品一区二区三区在线 | 中文字幕亚洲高清 | 国产一级在线观看 | 国产精品传媒一区二区 | 很很干很很日 | 欧美经典一区二区 | 国产精品亲子伦对白 | 91黄版 | 不卡免费av | 性生活三级视频 | 男人操女人下面视频 | 久久九精品| 成人性生交大片免费看vrv66 | 欧美成人一区二免费视频软件 | 欧美日韩亚洲国产另类 | a视频 | 96看片 | 久久精品人妻一区二区三区 | 亚洲天堂伊人网 | 九九成人 | 九九色影院 | 色鬼久久| 国产高清在线观看视频 | 成人小视频免费观看 | 成人在线免费播放 | 天堂av最新网址 | 激情自拍视频 | 一区二区三区蜜桃 | 成人午夜淫片100集 伊人久久国产 | 国产一级久久久 | 免费视频一二三区 | 中文字幕久久av | 精品一区二区三区国产 | 色伊人网 | 色网站在线免费观看 | 男女瑟瑟网站 | 国产 欧美 日韩 一区 | 色综合一区二区三区 | 五月天在线观看 | 国语对白一区 | 国产精品久久9 | 激情网页| 欧美一级黄 | 欧美久草| 成人在线免费视频观看 | av不卡免费在线观看 | 亚洲啊v | 在线视频 日韩 | 国产日韩精品suv | 国产偷拍一区二区三区 | 一本久久久久 | 五月天婷婷久久 | 天堂色区 | 亚洲色图欧洲色图 | 成年人性视频 | 奇米成人 | 国产思思 | 老司机一区 | 国产麻豆成人传媒免费观看 | 嫩草影院国产 | 素人一区二区 | 日日噜 | 国产伦精品一区二区三区视频黑人 | 国产好片无限资源 | 超碰97在线资源 | 黄色片视频在线观看 | 久久久久久91香蕉国产 | 少妇人妻偷人精品无码视频 | 国产肉体xxxx裸体784大胆 | 国产精品无码免费在线观看 | 一级成人免费 | 韩国一区二区三区视频 | 国产精品亚洲视频 | 国产在线伊人 | 欧美激情五月 | 亚日韩一区 | 中文 日韩 欧美 | www.日韩av.com| 都市激情亚洲一区 | 四虎永久网址 | 嫩草一区 | 国精产品一区一区三区mba下载 | 黄色特级一级片 | 综合久久久久久久久久久 | 国产无遮挡又黄又爽免费视频 | 亚洲国产日韩精品 | 成人开心网 | 狠狠撸狠狠干 | 男女男精品视频网站 | 色婷婷亚洲一区二区三区 | 欧美日韩一区二区三 | 天天色综合影视 | 成人日韩欧美 | 国产国产乱老熟女视频网站97 | 日韩草比 | 狠狠澡 |