一个简单的java程序,八门神器java
前言:
在工作中我们遇到了很多文件的操作,我们也习惯写自己定义的工具类来简化文件的操作。 其实apache的commons的FileUtils类就是这样的工具类,使用它可以大大简化我们的文件操作。
准备工作:
将名为commons-io-2.4.jar的文件导入到您的项目
说明:
1 .工具类的使用方法非常简单,本文将其进行分类,并给出它能为我们提供什么。
2 .习惯看API的人可以直接看到官方的API传送门
3 .可以查看官方指导引导传送门
4.FileUtils只是commons-io的工具类之一
分类说明演示文稿:
1 .写文件/文件夹
Java代码
/*写文件
*1.这里只显示了三种方式的全部参数形式,api提供部分参数的方法会过载
*2.最后一个布尔参数是否都是附加模式
*3.如果目标文件不存在,则会自动创建文件
*/
//static void : write (文件文件,CharSequencedata,Stringencoding,booleanappend ) )。
fileutils.write (new file (d :/a/b/CX yapi.txt )、)程序交换api )、) UTF-8 )、true );
//static void :写入线(file file,Collectionlines,booleanappend ) ) ) ) )。
Listlines=newArrayList (;
lines.add (欢迎使用' : ); lines.add(www.CXyapi.com);
fileutils.write lines (new file (d :/a/b/CX yapi.txt )、lines、true );
//static void :写入到文件(文件文件,Stringdata,Stringencoding,booleanappend ) )。
fileutils.writestring to file (new file (d :/a/b/CX yapi.txt ),)作者: cxy ),) UTF-8 ),true );
2 .阅读文件/文件夹
Java代码
//阅读文件
//staticstring 3360读文件统计(file file,Stringencoding ) ) )。
system.out.println (fileutils.readfile tostring (new file ) (d:/a/b/CXyapi.txt ),) );
//static list : read lines (文件文件,字符串编码) )。
system.out.println (fileutils.read lines (new file ) (d:/a/b/CXyapi.txt ),) );//返回一个列表
3 .删除文件/文件夹
Java代码
//删除目录
//static void :目录(文件目录) )。
fileutils.deletedirectory (new file ) (d:/not/CXyapi );
//静态布尔:删除质量(文件文件) )。
fileutils.delete quietly (new file ) (d:/not/CXyapi ); //文件夹在空中被删除而不是生动的旅行者,决不抛出异常
4 .移动文件/文件夹
Java代码
//移动文件或文件夹
//static void:movedirectory (file srcdir,FiledestDir ) )
fileutils.movedirectory (new file (d :/CX yapi1)、new file (d :/CX yapi2) ); //注意,如果第二个参数文件不存在,将会导致异常
//static void : movedirectorytodirectory (filesrc,FiledestDir,booleancreateDestDir ) )。
fileutils.movedirectorytodirectory (new file (d :/CX yapi2),new file (d :/CX yapi3),true );
/*以上两种方法的区别在于:
*moveDirectory:D:/cxyapi2的内容为D:/cxyapi1的内容。
* movedirectorytodirectory:d :/CX yapi 2文件夹将移动到D:/cxyapi3
*
*以下三个都很简单,没有样品,只提供api
moveToDirectory与其他区别在于它可以自动识别操作文件还是文件夹
*/
//static void :移动文件目录(srcfile,destDir,createDestDir ) )。
//static void :移动文件(文件srcfile,文件描述) )。
//static void :移动到目录(filesrc、FiledestDir、booleancreateDestDir ) )。
5 .复印
Java代码
//结果,cxyapi和cxyapi1位于同一目录中
fileutils.copy directory (new file (d :/CX yapi )、new file (d :/CX yapi1) );
//结果将cxyapi复制到cxyapi2下
fileutils.copydirectorytodirectory (new file (d :/CX yapi )、new file (d :/CX yapi2) );
//复制文件
fileutils.copyfile (new file (d :/CX yapi.XML )、new file (d :/CX yapi.XML.bak ) )
//将文件复制到目录
fileutils.copyfiletodirectory (newfile (d:/CXyapi.XML )、new file ) (d :/CX yapi ) );
将//URL复制到文件
fileutils.copyurltofile (newurl (http://www.CX yapi.com/RSS/CX yapi.XML ) )、newfile(d:/CXyapi.XML ) )
6 .其他
Java代码
//判断是否包含文件或文件夹
booleanb=fileutils.directory contains (new file (d :/CX yapi )、new file (d :/CX yapi.txt ) )
system.out.println(b;
//获取临时目录和用户目录
system.out.println (fileutils.gettempdirectorypath () );
system.out.println (fileutils.getuserdirectorypath () );
//如果创建的文件及其目录结构不存在,则打开流
//第2个参数表示文件流是否是追加方式
fileoutputstreamfos=fileutils.open output stream (new file ) (d:/CXyapi/CXyapi.txt ),true );
FOS.write(newstring ) (欢迎: www.cxyapi.com\r\n ).getBytes ) );
fos.close (;
//文件或文件夹的大小
system.out.println (fileutils.sizeof ) newfile('d:/CXyapi ' );
system.out.println (fileutils.sizeof directory (new file (' d :/CX yapi ' ) );