file命令及其用法,filefilter的用法
http://www.Sina.com/http://www.Sina.com/importorg.Apache.com mons.io.fileutils;
文件操作工具类(FileUtils)
使用 apache 的commons-io包下的FileUtils,
可以直接使用类名使用静态方法
maven创建的java项目,依赖于导入
dependencygroupidcommons -文件上载/groupidartifactidcommons -文件上载/体系结构1.3.3/version/depended 文件destfile )复制复制文件。
staticvoidcopyfile(filesrcfile,FiledestFile,booleanpreserveFileDate ) Copies a file to a new location。
staticlongcopyfile (文件输入,输出流输出) copybytesfromafiletoanoutputstream。
staticvoidcopyfiletodirectory (文件srcfile,文件深度) copiesafiletoadirectorypreservingthefiledate。
staticvoidcopyfiletodirectory (file srcfile,FiledestDir,booleanpreserveFileDate ) copiesafiletoadirectoryoptionallypreseserveservedate
staticvoidcopyinputstreamtofile (inputstream source,文件目标) copiesbytesfromaninputstreamsourcetoafiledestination。
staticvoidcopytodirectory (filesrc,文件深度) copiesafileordirectorytowithinanotherdirectorypreservingthefiledates。
staticvoidcopytodirectory (iterablefilesrcs,文件描述符) copiesafilestoadirectorypreservingeachfile ' sdate。
staticvoidcopytofile (inputstream source,文件目标) copiesbytesfromaninputstreamsourcetoafiledestination。
staticvoidcopyurltofile (URL source,文件目标) copiesbytesfromtheurlsourcetoafiledestination。
staticvoidcopyurltofile (URL source,Filedestination,intconnectionTimeout,intreadTimeout ) copiesbytesfromtheurlsourcetoa
下载地址:http://commons.apache.org/proper/commons-io/download_io.cgi
file file=new file (e :\\ Java\\ file 01\\ ABC雪. jpg ' ); stringdestfilepath=' e :\\ Java\\ file 02 '; 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 voidcopyDirectory(File srcDir, File destDir)
Copies a whole directory to a new location preserving the file dates.
static voidcopyDirectory(File srcDir, File destDir, boolean preserveFileDate)
Copies a whole directory to a new location.
static voidcopyDirectory(File srcDir, File destDir, FileFilter filter)
Copies a filtered directory to a new location preserving the file dates.
static voidcopyDirectory(File srcDir, File destDir, FileFilter filter, boolean preserveFileDate)
Copies a filtered directory to a new location.
static voidcopyDirectoryToDirectory(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 voiddeleteDirectory(File directory)
Deletes a directory recursively.
static booleandeleteQuietly(File file)
Deletes a file, never throwing an exception.
static voidforceDelete(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 voidcleanDirectory(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文档