上一篇:Java (二)基于Eclipse配置Commons IO的环境

例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

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

控制台的输出:

I:\Java\mycode\CommonsIO

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

例5.1:读取文本文档的内容。

 1 import java.io.File;
2 import java.io.IOException;
3
4 import org.apache.commons.io.FileUtils;
5
6 public class Main {
7
8 public static void main(String[] args) throws IOException {
9 System.out.println(System.getProperty("user.dir") + "\n");
10
11 String message = FileUtils.readFileToString(new File("empty.txt"), "GBK");
12 System.out.println(message);
13 System.out.println();
14
15 byte[] bytes = FileUtils.readFileToByteArray(new File("empty.txt"));
16 System.out.println(bytes.length + " bytes");
17 System.out.println(new String(bytes));
18 }
19 }

控制台的输出:

I:\Java\mycode\CommonsIO

锄禾日当午
码农真辛苦
一段小字符
一写一下午 46 bytes
锄禾日当午
码农真辛苦
一段小字符
一写一下午

例5.2:逐行读取文本文档的内容。

 1 import java.io.File;
2 import java.io.IOException;
3 import java.util.List;
4
5 import org.apache.commons.io.FileUtils;
6
7 public class Main {
8
9 public static void main(String[] args) throws IOException {
10 System.out.println(System.getProperty("user.dir") + "\n");
11
12 List<String> strings = FileUtils.readLines(new File("empty.txt"), "GBK");
13 for (String str: strings) {
14 System.out.println(str);
15 }
16 }
17 }

控制台的输出:

I:\Java\mycode\CommonsIO

锄禾日当午
码农真辛苦
一段小字符
一写一下午

例5.3:逐行读取文本文档的内容。

 1 import java.io.File;
2 import java.io.IOException;
3
4 import org.apache.commons.io.FileUtils;
5 import org.apache.commons.io.LineIterator;
6
7 public class Main {
8
9 public static void main(String[] args) throws IOException {
10 System.out.println(System.getProperty("user.dir") + "\n");
11
12 LineIterator lineIterator = FileUtils.lineIterator(new File("empty.txt"), "GBK");
13 while (lineIterator.hasNext()) {
14 System.out.println(lineIterator.nextLine());
15 }
16 }
17 }

控制台的输出:

I:\Java\mycode\CommonsIO

锄禾日当午
码农真辛苦
一段小字符
一写一下午

例6.1:写内容到文件。

 1 import java.io.File;
2 import java.io.IOException;
3
4 import org.apache.commons.io.FileUtils;
5
6 public class Main {
7
8 public static void main(String[] args) throws IOException {
9 System.out.println(System.getProperty("user.dir") + "\n");
10
11 FileUtils.write(new File("text.txt"), "Where ", "GBK", true);
12 FileUtils.writeStringToFile(new File("text.txt"), "are ", "GBK", true);
13 FileUtils.writeByteArrayToFile(new File("text.txt"), "we?".getBytes("GBK"), true);
14 }
15 }

运行程序,在工程目录下生成一个文件text.txt,内容:

Where are we?

例6.2:写内容到文件。

 1 import java.io.File;
2 import java.io.IOException;
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.apache.commons.io.FileUtils;
7
8 public class Main {
9
10 public static void main(String[] args) throws IOException {
11 System.out.println(System.getProperty("user.dir") + "\n");
12
13 List<String> str = new ArrayList<String>();
14 str.add("Bruce Wayne: I've had training.");
15 str.add("Ducard: The training is nothing! Will is everything! The will to act.");
16
17 FileUtils.writeLines(new File("text.txt"), str, "\r\n", false);
18 }
19 }

运行程序,在工程目录下生成一个文件text.txt,内容:

Bruce Wayne: I've had training.
Ducard: The training is nothing! Will is everything! The will to act.

下一篇:Java (四)APACHE Commons IO 复制文件

Java (三)APACHE Commons IO 常规操作的更多相关文章

  1. Java (四)APACHE Commons IO 复制文件

    上一篇:Java (三)APACHE Commons IO 常规操作 例1:复制文件 1 import java.io.File; 2 import java.io.IOException; 3 4 ...

  2. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream(转)

    java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream 使用Tomcat的Manag ...

  3. apache.commons.io.FileUtils的常用操作

    至于相关jar包可以到官网获取 http://commons.apache.org/downloads/index.html package com.wz.apache.fileUtils; impo ...

  4. Tomcat中使用commons-io-2.5发生的错误java.lang.ClassNotFoundException: org.apache.commons.io.IOUtils

    关键词:IntelliJ IDEA.Tomcat.commons-io-2.5.jar.java.lang.ClassNotFoundException: org.apache.commons.io. ...

  5. Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils

    1.错误叙述性说明 警告: Could not create JarEntryRevision for [jar:file:/D:/MyEclipse/apache-tomcat-7.0.53/web ...

  6. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream

    java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream at org.apach ...

  7. 报错:maven:java.lang.NoClassDefFoundError: org/apache/commons/io/Charsets

    运行报错: maven:java.lang.NoClassDefFoundError: org/apache/commons/io/Charsets 找不到Charsets这个类 上网查了以后,是因为 ...

  8. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream异常解决方法

    使用Tomcat部署Servlet程序时,单步调试跟踪到: List<FileItem> itemList = sfu.parseRequest(request); 总是会报错:Java. ...

  9. apache commons io包基本功能

    1. http://jackyrong.iteye.com/blog/2153812 2. http://www.javacodegeeks.com/2014/10/apache-commons-io ...

随机推荐

  1. Pyinstaller打包: 将资源文件或文件夹打包到最后生成的exe中

    前提:用pyinstaller打包时部分资源文件可以利用qrc转成py文件来读取,但是有部分文件类型不适用. 原理:Pyinstaller 将资源文件一起打包到exe中.当exe运行时,会生成一个临时 ...

  2. @PostConstruct详解

    一.定义: @PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法. 从Java EE5规范开始,Ser ...

  3. 如何写好转正答辩PPT

    如何写好一个转正答辩报告 几个月前,我刚经历了转正答辩,这是我职业生涯中转正答辩表现最好的一次.在我之前经历的几家公司中,转正的流程各不相同,我将它们为主动式和被动式.这里的被动式指的是:公司是主动方 ...

  4. [HGAME Week2] Cosmos的博客后台

    觉得这道题考察的东西比较综合而且比较简单,就写上了.因为写这篇文章的时候环境已经关闭了,所以引用了其他师傅wp的图片 本题考察了:php://filter伪协议文件包含.var_dump()输出GLO ...

  5. Java反射(一)

    什么是反射? 在程序的运行过程中,可以动态的创建对象. 反射的基石是什么? 字节码对象是反射的基石.字节码对象:Java类文件通过javac进行编译后生成的xxx.class文件,此文件由jvm加载至 ...

  6. Zabbix Agent报“listener failed: zbx_tcp_listen() fatal error: unable to serve on any address”

    一台服务器的Zabbix Agent升级后,在Zabbix Server发现Zabbix Agent无法访问.检查Zabbix Agent发现服务停止了,启动Zabbix Agent后,发现服务马上又 ...

  7. C007:输入美元数量,用最少的20美元,10美元,5美元和1美元付款

    代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int amount; do{ printf(&quo ...

  8. BIO应用-RPC框架

    为什么要有RPC?  我们最开始开发的时候,一个应用一台机器,将所有功能都写在一起,比如说比较常见的电商场景. 随着我们业务的发展,我们需要提示性能了,我们会怎么做?将不同的业务功能放到线程里来实现异 ...

  9. 【吴恩达课程使用】keras cpu版安装【接】- anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版

    一.确认tensorflow的版本: 接上一条tensorflow的安装,注意版本不匹配会出现很多问题!:[吴恩达课程使用]anaconda (python 3.7) win10安装 tensorfl ...

  10. k8s volume存储卷

    k8s volume存储卷   介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价, ...