上一篇: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. Roads in the North (树的直径)

    Building and maintaining roads among communities in the far North is an expensive business. With thi ...

  2. 深入了解Netty【八】TCP拆包、粘包和解决方案

    1.TCP协议传输过程 TCP协议是面向流的协议,是流式的,没有业务上的分段,只会根据当前套接字缓冲区的情况进行拆包或者粘包: 发送端的字节流都会先传入缓冲区,再通过网络传入到接收端的缓冲区中,最终由 ...

  3. leetcode刷题-60第k个队列

    题目 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列. 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123""132& ...

  4. Java使用ArrayList实现“群主发红包”功能

    群主发普通红包,某群有多名成员,群主给成员发普通红包,普通红包的规则: 群主的一笔金额,从群主余额中扣除,平均分成n等份,让成员领取: 成员领取红包后,保存到成员余额中. 请根据描述,完成案例中所有类 ...

  5. 学习STM32的一些记录_创建库函数版本的工程

    1.新建一个文件夹,用于存放MDK的工程所有文件.例如新建文件夹Template. 2.在Template下新建一个USER文件夹,用于存放工程. 3.打开MDK5,新建工程,目录在USER下. 4. ...

  6. 痞子衡嵌入式:IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link / CMSIS-DAP)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致. 做Cortex-M内核MCU嵌入式软件开发,可用的集成开发环境( ...

  7. 浅入 ABP 系列(4):事件总线

    浅入 ABP 系列(4):事件总线 版权护体作者:痴者工良,微信公众号转载文章需要 <NCC开源社区>同意. 目录 浅入 ABP 系列(4):事件总线 事件总线 关于事件总线 为什么需要这 ...

  8. 腾讯云COS对象存储 Web 端直传实践(JAVA实现)

    使用 腾讯云COS对象存储做第三方存储云服务,把一些文件都放在上面,这里主要有三中实现方式:第一种就是在控制台去设置好,直接上传文件.第二种就是走服务端,上传文件,就是说,上传文件是从服务端去上传上去 ...

  9. JAVA基础知识之面向对象编程知识汇总

    JAVA基础课程部分面向对象已经学习完成,知识结构如下: 总体知识框架: 类的结构: 面向对象编程三大特征: 关键字和抽象类接口等: 常见知识汇总: 成员变量和局部变量比较 有无返回值方法比较: 权限 ...

  10. docker部署Broketrmq集群

    部署Broketrmq集群 通过docker-compose形式部署 首先创建 broker 配置文件,配置文件如下: brokerClusterName = DefaultCluster #集群名 ...