阅读 57

java官方教程,java开发教程基础

FileUtils类的APP应用程序

1、写入一个文件;

2、从文件中读取

3、创建包含文件夹的文件夹;

4、复制文件和文件夹

5、删除文件和文件夹

6、从URL地址获取文件;

7、用文件过滤器和扩展名列出文件和文件夹

8、比较文件内容

9、文件最后修改时间;

10、计算校验和。

一.如何复制文件或文件夹:

例如:

1公共类文件目录{

2 publicstaticvoidmain (string [ ] args ) throws Exception {

3文件文件1=new文件(' path1);

4filefile2=newfile('path2);

5filefile3=newfile('path3);

6filefile4=newfile('path4);

7filefile5=newfile('path5);

8 //将文件复制到指定文件夹并保存文件的日期和时间。

9 //将指定源文件的内容复制到指定目标目录中同名的文件中。

10 //如果不存在,则创建目标目录。 如果目标文件存在,则此方法将覆盖它。

11文件ileutils.copyfiletodirectory (文件1,文件2 ); //文件不重要

12 //将文件复制到新位置(重命名文件)并保存文件日期的时间。

13fileutils.copyfile(file1,file3);

14

15 //将文件夹复制到指定目录下,如果指定目录不存在,则创建该目录

16 fileutils.copydirectorytodirectory (file 2,file4);

17

18 //将文件夹复制到指定目录下并重命名

19 fileutils.copy directory (file 4,file5);

20

21 //此方法将指定的源目录结构复制到指定的目标目录中。

22 fileutils.copy directory (file 4,file5,DirectoryFileFilter.DIRECTORY );

23

24 //在复制文件夹的主要内容中指定后缀文件

25 iofilefiltertxtsuffixfilter=filefilter utils.suffix filefilter ('.txt ' );

26 iofilefiltertxtfiles=filefilter utils.and (file filefilter.file,txtSuffixFilter );

27 fileutils.copy directory (file 4,file5,txtFiles );

28

29 //复制文件目录结构和文件夹下主目录中的指定后缀文件

30文件过滤器=文件过滤器utils.or (directory filefilter.directory,txtFiles );

31 fileutils.copy directory (file 4、file5、filter、false ); //preserveFileDate参数默认为true。

32

将字节从33//URL源复制到文件位置。 如果它还不存在,它将在目标目录中创建。 如果已经存在,则文件将被复盖。

34 URL source=newurl (http://img src.Baidu.com/baike/pic/ewe.jpg );

35 fileutils.copyurltofile (source,file 5,1000,1000 );

36

37//NFS等待创建传播文件,强制超时。 此方法将重复测试File.exists (),直到返回到由true或秒指定的最大时间。

38文件文件=new文件((/ABC/);

39 booleand=fileutils.wait for (file,100 );

40system.out.println(d );

41 }

42 }

二.删除文件或文件的方法

1 publicclassfileordirectorydelete {

2 publicstaticvoidmain (string [ ] args ) throws Exception{

3filefile=newfile('path1);

4文件目录

y = new File("path2");


5 //递归删除一个目录(包括内容)。

6 FileUtils.deleteDirectory(directory);

7

8 //删除一个文件,不会抛出异常。如果文件是一个目录,删除它和所有子目录。

9 FileUtils.deleteQuietly(file);

10

11 //清理内容而不删除它。

12 FileUtils.cleanDirectory(directory);

13

14 //删除一个文件,会抛出异常

15 //如果file是文件夹,就删除文件夹及文件夹里面所有的内容。如果file是文件,就删除。

16 //如果某个文件/文件夹由于某些原因无法被删除,会抛出异常

17 FileUtils.forceDelete(file);

18 }

19 }

三、创建目录

1 public class CreatDirectory {

2 public static void main(String[] args) throws Exception {

3 File file = new File("path");

4 //创建一个文件夹,如果由于某些原因导致不能创建,则抛出异常

5 //一次可以创建单级或者多级目录

6 FileUtils.forceMkdir(new File("/Users/wuguibin/Downloads/folder"));

7 //为指定文件创建文件的父级目录

8 FileUtils.forceMkdirParent(file);

9 }

10 }

四、移动文件或文件夹

//移动文件夹,并重新命名

FileUtils.moveDirectory(new File("/Users/Downloads/file1"),

new File("/Users/Downloads/file2/file3"));

//移动文件夹,并给定是否重命名

FileUtils.moveDirectoryToDirectory(new File("/Users/Downloads/file1"),

new File("/Users/Downloads/file2/"),false);

//移动文件到指定文件夹中,并重新命名

FileUtils.moveFile(file1,new File("/Users/Downloads/海葡萄.jpen"));

//移动文件到指定文件夹中,并给定是否创建文件夹

FileUtils.moveFileToDirectory(new File("/Users/Downloads/海葡萄.jpeg"),

new File("/Users/Downloads/file2"),false);

五、判断文件是否相同或包含关系、获取文件或文件夹大小

//确定父目录是否包含指定子元素(一个文件或目录)。即directory是否包含file2,在比较之前,文件是标准化的。

boolean a = FileUtils.directoryContains(directory,file2);

//比较两个文件的内容,以确定它们是否相同。

boolean b = FileUtils.contentEquals(file1, file2)

//获取指定文件或文件夹大小,有可能溢出,变为负值

long l = FileUtils.sizeOf(file1);

System.out.println(l+"KB");

//获取指定文件或文件夹大小,不溢出

BigInteger bi= FileUtils.sizeOfAsBigInteger(file1);

System.out.println(bi+"kb");

//递归地计算一个目录的大小(所有文件的长度的总和)。

//注意,sizeOfDirectory()没有检测溢出,如果溢出发生,返回值可能为负。sizeOfDirectoryAsBigInteger()方法则不溢出。

FileUtils.sizeOfDirectory(file1);

FileUtils.sizeOfDirectoryAsBigInteger(file1);

六、比较文件新旧

//比较指定文件是否比参考文件创建或修改后时间晚

boolean b = FileUtils.isFileNewer(file1,file2));

//如果指定的文件比指定的日期更新。

SimpleDateFormat date = new SimpleDateFormat("yyyy/MM/dd");

String date1 = "2017/06/20";

boolean c = FileUtils.isFileNewer(file1,date.parse(date1));

boolean d = FileUtils.isFileNewer(file1,23243);

//指定文件创建或修改后的时间是否比参考文件或日期早

FileUtils.isFileOlder(file1,232434);

FileUtils.isFileOlder(file1,System.currentTimeMillis());

七、写入文件

//把集合里面的内容写入文件,以指定字符串结束写入

//void writeLines(File file,Collection> lines,String lineEnding,boolean append)

ArrayList list = new ArrayList<>();

String str1 = "Java";

String str2 = "JSP";

list.add(str1);

list.add(str2);

FileUtils.writeLines(file8,"GBK",list,"java",true);

//把字符串写入文件

//参数1:需要写入的文件,如果文件不存在,将自动创建。 参数2:需要写入的内容

//参数3:编码格式 参数4:是否为追加模式( ture: 追加模式,把字符串追加到原内容后面)

String data1 = "认真";

FileUtils.writeStringToFile(file,data1, "UTF-8", true);

//把字节数组写入文件

byte [] buf = {13,123,34};

System.out.println(new String(buf));

FileUtils.writeByteArrayToFile(file13,buf,0,buf.length,true);

八、读取文件及获取输入输出流

//将文件的内容读入一个字符串中。

String str = FileUtils.readFileToString(file,"UTF-16" );

FileUtils.readFileToByteArray(file);

//把文件读取到字节数组里面

byte[] readFileToByteArray(final File file)

//把文件读取成字符串 ;Charset encoding:编码格式

String readFileToString(final File file, final Charset encoding)

//把文件读取成字符串集合 ;Charset encoding:编码格式 List list4 =FileUtils.readLines(

new File("/Users/Shared/笔记/java.txt"),"UTF-8");

Iterator it = list4.iterator();

while (it.hasNext()){

Object obj=it.next();

System.out.println(obj);

}

//获取输入流

FileUtils.openInputStream(file);

//获取输出流

FileUtils.openOutputStream(file);


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐