Commons IO之FileUtils工具類介紹

http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html

pom.xml

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>

 

 

FileUtils的使用:
// 複製文件夾

FileUtils.copyDirectory(File srcDir, File destDir) // 複製文件夾(文件夾裏面的文件內容也會複製)

FileUtils.copyDirectory(File srcDir, File destDir, FileFilter filter) // 複製文件夾,帶有文件過濾功能

FileUtils.copyDirectoryToDirectory(File srcDir, File destDir) // 以子目錄的形式將文件夾複製到到另一個文件夾下

 

// 複製文件

FileUtils.copyFile(File srcFile, File destFile) // 複製文件

FileUtils.copyFile(File input, OutputStream output) // 複製文件到輸出流

FileUtils.copyFileToDirectory(File srcFile, File destDir) // 複製文件到一個指定的目錄

FileUtils.copyInputStreamToFile(InputStream source, File destination) // 把輸入流裏面的內容複製到指定文件

FileUtils.copyURLToFile(URL source, File destination) // 把URL 裏面內容複製到文件(可以下載文件)

FileUtils.copyURLToFile(URL source, File destination, int connectionTimeout, int readTimeout)

 

// 把字符串寫入文件

FileUtils.writeStringToFile(File file, String data, String encoding)

FileUtils.writeStringToFile(File file, String data, String encoding, boolean append)

// 把字節數組寫入文件

FileUtils.writeByteArrayToFile(File file, byte[] data)

FileUtils.writeByteArrayToFile(File file, byte[] data, boolean append) FileUtils.writeByteArrayToFile(File file, byte[] data, int off, int len) FileUtils.writeByteArrayToFile(File file, byte[] data, int off, int len, boolean append)

// 把集合裏面的內容寫入文件

// encoding:文件編碼,lineEnding:每行以什麼結尾

FileUtils.writeLines(File file, Collection<?> lines)

FileUtils.writeLines(File file, Collection<?> lines, boolean append)

FileUtils.writeLines(File file, Collection<?> lines, String lineEnding)

FileUtils.writeLines(File file, Collection<?> lines, String lineEnding, boolean append)

FileUtils.writeLines(File file, String encoding, Collection<?> lines)

FileUtils.writeLines(File file, String encoding, Collection<?> lines, boolean append)

FileUtils.writeLines(File file, String encoding, Collection<?> lines, String lineEnding)

FileUtils.writeLines(File file, String encoding, Collection<?> lines, String lineEnding, boolean append)

// 往文件裏面寫內容

FileUtils.write(File file, CharSequence data, Charset encoding)

FileUtils.write(File file, CharSequence data, Charset encoding, boolean append)

FileUtils.write(File file, CharSequence data, String encoding)

FileUtils.write(File file, CharSequence data, String encoding, boolean append)

 

// 文件移動

FileUtils.moveDirectory(File srcDir, File destDir) // 文件夾在內的所有文件都將移動FileUtils.moveDirectoryToDirectory(File src, File destDir, boolean createDestDir) // 以子文件夾的形式移動到另外一個文件下

FileUtils.moveFile(File srcFile, File destFile) // 移動文件

FileUtils.moveFileToDirectory(File srcFile, File destDir, boolean createDestDir) // 以子文件的形式移動到另外一個文件夾下

FileUtils.moveToDirectory(File src, File destDir, boolean createDestDir) // 移動文件或者目錄到指定的文件夾內

 

// 清空和刪除文件夾

FileUtils.deleteDirectory(File directory) // 刪除文件夾,包括文件夾和文件夾裏面所有的文件

FileUtils.cleanDirectory(File directory) // 清空文件夾裏面的所有的內容

FileUtils.forceDelete(File file) // 刪除,會拋出異常

FileUtils.deleteQuietly(File file) // 刪除,不會拋出異常

 

// 創建文件夾

FileUtils.forceMkdir(File directory) // 創建文件夾(可創建多級)

FileUtils.forceMkdirParent(File file) // 創建文件的父級目錄

 

// 獲取文件輸入/輸出流

FileUtils.openInputStream(File file)

FileUtils.openOutputStream(File file)

// 讀取文件

FileUtils.readFileToByteArray(File file) // 把文件讀取到字節數組

FileUtils.readFileToString(File file, Charset encoding) // 把文件讀取成字符串

FileUtils.readFileToString(File file, String encoding)

FileUtils.readLines(File file, Charset encoding) // 把文件讀取成字符串集合

FileUtils.readLines(File file, String encoding)

 

// 測試兩個文件的修改時間

FileUtils.isFileNewer(File file, Date date)

FileUtils.isFileNewer(File file, File reference)

FileUtils.isFileNewer(File file, long timeMillis)

FileUtils.isFileOlder(File file, Date date)

FileUtils.isFileOlder(File file, File reference)

FileUtils.isFileOlder(File file, long timeMillis)

 

 

// 文件/文件夾的迭代

FileUtils.iterateFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

FileUtils.iterateFiles(File directory, String[] extensions, boolean recursive)

FileUtils.iterateFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

FileUtils.lineIterator(File file)

FileUtils.lineIterator(File file, String encoding)

 

FileUtils.listFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

FileUtils.listFiles(File directory, String[] extensions, boolean recursive)

FileUtils.listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

 

// 其他

FileUtils.isSymlink(File file) // 判斷是否是符號鏈接

FileUtils.directoryContains(File directory, File child) // 判斷文件夾內是否包含某個文件或者文件夾

 FileUtils.sizeOf(File file) // 獲取文件或者文件夾的大小

FileUtils.getTempDirectory()// 獲取臨時目錄文件

FileUtils.getTempDirectoryPath()// 獲取臨時目錄路徑

FileUtils.getUserDirectory()// 獲取用戶目錄文件

FileUtils.getUserDirectoryPath()// 獲取用戶目錄路徑

FileUtils.touch(File file) // 創建文件

FileUtils.contentEquals(File file1, File file2) // 比較兩個文件內容是否相同

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章