免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java程序員的日常
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支持很多文件操作,如 * * 文件寫入 * 讀取文件 * 創(chuàng)建目錄 * 拷貝文件和目錄 * 刪除文件和目錄 * 從URL轉(zhuǎn)換 * 基于統(tǒng)配和過濾查看文件和目錄 * 比較文件內(nèi)容 * 文件的更新時間 * 檢查校驗碼 * * 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);//是否追加的形式添加內(nèi)容 } @Test public void FileOperation() throws IOException { //創(chuàng)建文件,如果文件存在則更新時間;如果不存在,創(chuàng)建一個空文件 //創(chuàng)建空文件的方式為: // final OutputStream out = openOutputStream(file); // IOUtils.closeQuietly(out); FileUtils.touch(new File("D://test/test4")); //文件內(nèi)容的對比 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);//忽略換行符,第三個參數(shù)是字符集 //根據(jù)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);//第三個參數(shù)是否更新時間 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");// 創(chuàng)建.txt過濾器 IOFileFilter txtFiles = FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter); // 創(chuàng)建包含目錄或者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"));//刪除目錄下所有的內(nèi)容 FileUtils.deleteQuietly(new File("/test"));//如果是目錄,會級聯(lián)刪除;不會拋出異常 //判斷文件是否存在 FileUtils.directoryContains(new File("/dir"),new File("/file")); //清除目錄中的內(nèi)容,不會刪除該目錄; //先verifiedListFiles檢查目錄,檢查目錄是否為目錄、是否存在,然后調(diào)用listFiles,如果返回null,則拋出異常 //遍歷目錄中的文件,如果是目錄則遞歸刪除;如果是文件則強(qiáng)制刪除,刪除失?。ㄎ募淮嬖诨驘o法刪除)都會拋出異常 FileUtils.cleanDirectory(new File("/dir"));//TODO verifiedListFiles <------2016/11/24 //等待一個文件xx秒,知道文件創(chuàng)建后才返回。每max(100,remainning)循環(huán)檢查一次 while(FileUtils.waitFor(new File("/dir"),60)){} //讀取目標(biāo)文件,內(nèi)部調(diào)用IOUtils.toString(inputstream,"utf-8") String str = FileUtils.readFileToString(new File("/dir"),"utf-8"); //內(nèi)部調(diào)用IOUtils.toByteArray(in) byte[] bytes = FileUtils.readFileToByteArray(new File("/dir")); //內(nèi)部調(diào)用IOUtils.readLines(in, Charsets.toCharset(encoding)); List<String> strs = FileUtils.readLines(new File("/dir"),"utf-8"); //內(nèi)部調(diào)用IOUtils.lineIterator(in, encoding) FileUtils.lineIterator(new File("/dir"),"utf-8"); //四個參數(shù)分別為:目標(biāo)文件,寫入的字符串,字符集,是否追加 FileUtils.writeStringToFile(new File("/target"),"string","utf-8",true); //write可以接受charsequence類型的數(shù)據(jù),string,stringbuilder和stringbuffer都是實現(xiàn)了charsequence接口 FileUtils.write(new File("/target"),"target char sequence","utf-8",true); FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes());//(file,字符數(shù)組) FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes(),true);//(file,字符數(shù)組,是否追加) FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes(),0,10);//(file,字符數(shù)組,起始位置,結(jié)束位置) FileUtils.writeByteArrayToFile(new File("/target"),"bytes".getBytes(),0,10,true);//(file,字符數(shù)組,起始位置,結(jié)束位置,是否追加) //writeLines多了一個lineEnding參數(shù) FileUtils.writeLines(new File("/target"),"utf-8", FileUtils.readLines(new File("/target"),"utf-8")); //強(qiáng)制刪除 FileUtils.forceDelete(new File("/target")); //在JVM FileUtils.forceDeleteOnExit(new File("/target")); //強(qiáng)制創(chuàng)建文件目錄,如果文件存在,會拋出異常 FileUtils.forceMkdir(new File("/target")); //強(qiáng)制創(chuàng)建父級目錄 FileUtils.forceMkdirParent(new File("/xxxx/target")); //如果是文件,直接讀取文件大??;如果是目錄,級聯(lián)計算文件下的所有文件大小 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>轉(zhuǎn)換成File[] FileUtils.convertFileCollectionToFileArray(files); }}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Apache Commons IO入門教程
分享 commons io 工具類 代碼
使用FileUtils簡化你的文件操作
自己總結(jié)struts2上傳文件步驟
apache commons io
Commons之Commons
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服