FileUtils工具类常用方法
文件操作工具類(FileUtils)
使用 apache 的commons-io包下的FileUtils,import org.apache.commons.io.FileUtils;
下載地址:http://commons.apache.org/proper/commons-io/download_io.cgi
官方API文檔:http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html
靜態方法可以直接使用類名使用
maven 創建的java工程,導入依賴
<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency>??
一、拷貝文件
| static void | copyFile(File?srcFile,?File?destFile) Copies a file to a new location preserving the file date. |
| static void | copyFile(File?srcFile,?File?destFile, boolean?preserveFileDate) Copies a file to a new location. |
| static long | copyFile(File?input,?OutputStream?output) Copy bytes from a?File?to an?OutputStream. |
| static void | copyFileToDirectory(File?srcFile,?File?destDir) Copies a file to a directory preserving the file date. |
| static void | copyFileToDirectory(File?srcFile,?File?destDir, boolean?preserveFileDate) Copies a file to a directory optionally preserving the file date. |
| static void | copyInputStreamToFile(InputStream?source,?File?destination) Copies bytes from an?InputStream?source?to a file?destination. |
| static void | copyToDirectory(File?src,?File?destDir) Copies a file or directory to within another directory preserving the file dates. |
| static void | copyToDirectory(Iterable<File>?srcs,?File?destDir) Copies a files to a directory preserving each file's date. |
| static void | copyToFile(InputStream?source,?File?destination) Copies bytes from an?InputStream?source?to a file?destination. |
| static void | copyURLToFile(URL?source,?File?destination) Copies bytes from the URL?source?to a file?destination. |
| static void | copyURLToFile(URL?source,?File?destination, int?connectionTimeout, int?readTimeout) Copies bytes from the URL?source?to a file?destination. |
1)拷貝文件到文件:copyFile(File?srcFile,?File?destFile)
File file = new File("E:\\java\\file01\\abc雪.jpg");String destFilePath = "E:\\java\\file02";String destFileName = "abc雪02.jpg";try {FileUtils fileUtils = new FileUtils();//文件拷貝到新的位置并保存文件的日期。fileUtils.copyFile(file, new File(destFilePath,destFileName));System.out.println("文件拷貝成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}? ? 2)拷貝文件到字節輸出流。:copyFile(File?input,?OutputStream?output)
String destFileName = "abc雪03.jpg"; //從文件copy to an字節輸出流。 FileUtils.copyFile(file, new FileOutputStream(new File(destFilePath,destFileName)));3)拷貝文件到文件的目錄保存文件的日期:copyFileToDirectory(File?srcFile,?File?destDir)
? 拷貝的文件名無法自定義,和原文件名一樣
//拷貝文件到文件的目錄保持文件的日期。 FileUtils.copyFileToDirectory(file, new File(destFilePath));?
?
二、拷貝目錄及文件
| static void | copyDirectory(File?srcDir,?File?destDir) Copies a whole directory to a new location preserving the file dates. |
| static void | copyDirectory(File?srcDir,?File?destDir, boolean?preserveFileDate) Copies a whole directory to a new location. |
| static void | copyDirectory(File?srcDir,?File?destDir,?FileFilter?filter) Copies a filtered directory to a new location preserving the file dates. |
| static void | copyDirectory(File?srcDir,?File?destDir,?FileFilter?filter, boolean?preserveFileDate) Copies a filtered directory to a new location. |
| static void | copyDirectoryToDirectory(File?srcDir,?File?destDir) Copies a directory to within another directory preserving the file dates. |
1)將整個目錄拷貝到新位置,并保持原文件日期:copyDirectory(File?srcDir,?File?destDir)
? ?? 其包含文件及子目錄文件并保持原文件日期
File file = new File("E:\\java\\file01");String destFilePath = "E:\\java\\file03";try {//將整個目錄復制新位置,并保持原文件日期。FileUtils.copyDirectory(file, new File(destFilePath));System.out.println("文件目錄拷貝成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}??
2)將已篩選的目錄拷貝的新位置:copyDirectory(File?srcDir,?File?destDir,?FileFilter?filter)
? ?? 文件過濾器篩選 其包含文件及子目錄文件 拷貝,并保持原文件日期。
String destFilePath = "E:\\java\\file04"; //將已篩選的目錄復制,并保持原文件日期的新位置。 FileUtils.copyDirectory(file, new File(destFilePath), new FileFilter() {@Overridepublic boolean accept(File pathname) {if(pathname.isDirectory()) return true;else {boolean b1 = pathname.getName().endsWith(".txt");boolean b2 = pathname.getName().endsWith(".jpg");return b1 || b2;}} });??
?
三、刪除目錄及文件
| static void | deleteDirectory(File?directory) Deletes a directory recursively. |
| static boolean | deleteQuietly(File?file) Deletes a file, never throwing an exception. |
| static void | forceDelete(File?file) Deletes a file. |
1)刪除指定文件,從不引發異常:deleteQuietly(File?file)
File file = new File("E:\\java\\file04\\abc雪.jpg"); //刪除指定文件,從不引發異常。 FileUtils.deleteQuietly(file);2)刪除指定文件,不存在報異常:forceDelete(File?file)
File file = new File("E:\\java\\file04\\abc雪.jpg");try {FileUtils.forceDelete(file);System.out.println("操作成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}3)遞歸刪除目錄:deleteDirectory(File?directory)
?? 刪除其包含文件及子目錄文件
File file = new File("E:\\java\\file04\\abc雪.jpg");//遞歸刪除目錄。try {FileUtils.deleteDirectory(new File(destFilePath));System.out.println("操作成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}四、清除目錄:cleanDirectory(File?directory)
| static void | cleanDirectory(File?directory) Cleans a directory without deleting it. |
?清除該目錄下的文件及子目錄文件而不刪除該目錄文件夾。該目錄不存在會報錯
String destFilePath = "E:\\java\\file04"; try {FileUtils.cleanDirectory(new File(destFilePath));System.out.println("操作成功"); } catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage()); }?
其他方法查看API文檔
?
?
總結
以上是生活随笔為你收集整理的FileUtils工具类常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UML类图解义
- 下一篇: 2012年1月份第2周51Aspx源码发