首页 > 编程语言 > 详细

Java (三)APACHE Commons IO 常规炒

时间:2019-05-12 23:25:47      阅读:144      评论:0      收藏:0      [点我收藏+]

例1:查看文件、文件夹的长度(大小)。

 1 import java.io.File;
 2 
 3 import org.apache.commons.io.FileUtils;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         long length = FileUtils.sizeOf(new File("J:/PrtSc/20190321/1.png"));
 9         System.out.println(length);
10         
11         length = FileUtils.sizeOf(new File("J:/PrtSc/20190321"));
12         System.out.println(length);
13         
14         length = FileUtils.sizeOfDirectory(new File("J:/PrtSc/20190321"));
15         System.out.println(length);
16     }
17 }

控制台的输出:

23415
1015221
1015221

 

 

例2:列出指定目录下的非空文件。

 1 import java.io.File;
 2 import java.util.Collection;
 3 
 4 import org.apache.commons.io.FileUtils;
 5 import org.apache.commons.io.filefilter.EmptyFileFilter;
 6 
 7 public class Main {
 8 
 9     public static void main(String[] args) {
10         System.out.println(System.getProperty("user.dir") + "\n");
11         
12         Collection<File> files1 = FileUtils.listFiles(new File(System.getProperty("user.dir")), EmptyFileFilter.NOT_EMPTY, null);
13         for (File file: files1) {
14             System.out.println(file.getAbsolutePath());
15         }
16         
17         System.out.println("\n" + new File("empty.txt").length() + " bytes");
18     }
19 }

因为empty.txt是一个空文件,所以不会被列出来。

技术分享图片

控制台的输出:

I:\Java\mycode\CommonsIO

I:\Java\mycode\CommonsIO\.classpath
I:\Java\mycode\CommonsIO\.project

0 bytes

 

如果向empty.txt写入内容,再次运行程序,empty.txt就会被列出。因为此时empty.txt不是一个空文件。

技术分享图片

控制台的输出:

I:\Java\mycode\CommonsIO

I:\Java\mycode\CommonsIO\.classpath
I:\Java\mycode\CommonsIO\.project
I:\Java\mycode\CommonsIO\empty.txt

47 bytes

 

 

例3:列出指定目录,以及其子目录下的非空文件。

 1 import java.io.File;
 2 import java.util.Collection;
 3 
 4 import org.apache.commons.io.FileUtils;
 5 import org.apache.commons.io.filefilter.DirectoryFileFilter;
 6 import org.apache.commons.io.filefilter.EmptyFileFilter;
 7 
 8 public class Main {
 9 
10     public static void main(String[] args) {
11         System.out.println(System.getProperty("user.dir") + "\n");
12         
13         Collection<File> files1 = FileUtils.listFiles(new File(System.getProperty("user.dir")), EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
14         for (File file: files1) {
15             System.out.println(file.getAbsolutePath());
16         }
17     }
18 }

 

控制台的输出:

I:\Java\mycode\CommonsIO

I:\Java\mycode\CommonsIO\.classpath
I:\Java\mycode\CommonsIO\.project
I:\Java\mycode\CommonsIO\.settings\org.eclipse.jdt.core.prefs
I:\Java\mycode\CommonsIO\bin\com\mk\Main.class
I:\Java\mycode\CommonsIO\lib\commons-io-2.6-sources.jar
I:\Java\mycode\CommonsIO\lib\commons-io-2.6.jar
I:\Java\mycode\CommonsIO\src\com\mk\Main.java

 

 

 

例4.1:列出指定目录下,指定后缀的文件。

 1 import java.io.File;
 2 import java.util.Collection;
 3 
 4 import org.apache.commons.io.FileUtils;
 5 import org.apache.commons.io.filefilter.DirectoryFileFilter;
 6 import org.apache.commons.io.filefilter.SuffixFileFilter;
 7 
 8 public class Main {
 9 
10     public static void main(String[] args) {
11         System.out.println(System.getProperty("user.dir") + "\n");
12         
13         Collection<File> files1 = FileUtils.listFiles(new File(System.getProperty("user.dir")), new SuffixFileFilter("java"), DirectoryFileFilter.INSTANCE);
14         for (File file: files1) {
15             System.out.println(file.getAbsolutePath());
16         }
17     }
18 }

 

控制台的输出:

I:\Java\mycode\CommonsIO

I:\Java\mycode\CommonsIO\src\com\mk\Main.java

 

 

 

例4.2:列出指定目录下,指定后缀的文件。

 1 import java.io.File;
 2 import java.util.Collection;
 3 
 4 import org.apache.commons.io.FileUtils;
 5 import org.apache.commons.io.filefilter.DirectoryFileFilter;
 6 import org.apache.commons.io.filefilter.FileFilterUtils;
 7 import org.apache.commons.io.filefilter.SuffixFileFilter;
 8 
 9 public class Main {
10 
11     public static void main(String[] args) {
12         System.out.println(System.getProperty("user.dir") + "\n");
13         
14         Collection<File> files1 = FileUtils.listFiles(new File(System.getProperty("user.dir")), FileFilterUtils.or(new SuffixFileFilter("java"), new SuffixFileFilter("class")), DirectoryFileFilter.INSTANCE);
15         for (File file: files1) {
16             System.out.println(file.getAbsolutePath());
17         }
18     }
19 }

 

控制台的输出:

I:\Java\mycode\CommonsIO

I:\Java\mycode\CommonsIO\bin\com\mk\Main.class
I:\Java\mycode\CommonsIO\src\com\mk\Main.java

 

Java (三)APACHE Commons IO 常规炒

原文:https://www.cnblogs.com/Satu/p/10853370.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!