package com
.sxt
.io3
;
import java
.io
.File
;
import java
.io
.IOException
;
import java
.net
.MalformedURLException
;
import java
.net
.URL
;
import java
.util
.ArrayList
;
import java
.util
.Collection
;
import java
.util
.List
;
import org
.apache
.commons
.io
.FileUtils
;
import org
.apache
.commons
.io
.IOUtils
;
import org
.apache
.commons
.io
.filefilter
.DirectoryFileFilter
;
import org
.apache
.commons
.io
.filefilter
.EmptyFileFilter
;
import org
.apache
.commons
.io
.filefilter
.FileFilterUtils
;
import org
.apache
.commons
.io
.filefilter
.SuffixFileFilter
;
public class CIOTest01 {
public static void main(String
[] args
) throws IOException
{
}
public void test1() {
long len
=FileUtils
.sizeOf(new File("D:\\workspace02\\IO流\\src\\com\\sxt\\io3\\ConvertTest.java"));
System
.out
.println(len
);
len
=FileUtils
.sizeOf(new File("D:\\workspace02\\IO流\\src"));
System
.out
.println(len
);
System
.out
.println("***********************************************");
Collection
<File> files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"), EmptyFileFilter
.NOT_EMPTY
, null
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
System
.out
.println("***********************************************");
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"), EmptyFileFilter
.NOT_EMPTY
, DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
System
.out
.println("***********************************************");
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"), new SuffixFileFilter("java"), DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
System
.out
.println("***********************************************");
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
FileFilterUtils
.or(new SuffixFileFilter("java"),new SuffixFileFilter("class")) , DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
System
.out
.println("***********************************************");
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
FileFilterUtils
.or(new SuffixFileFilter("java"),new SuffixFileFilter("class"),EmptyFileFilter
.EMPTY
) , DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
System
.out
.println("***********************************************");
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
FileFilterUtils
.and(new SuffixFileFilter("java"),EmptyFileFilter
.NOT_EMPTY
) , DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
}
public void TestWriteRead() throws IOException
{
String msg
=
FileUtils
.readFileToString(new File("C:\\Users\\Administration\\Desktop\\新建文本文档.txt"),"UTF-8");
System
.out
.println(msg
);
byte[] datas
=FileUtils
.readFileToByteArray(new File("C:\\Users\\Administration\\Desktop\\新建文本文档.txt"));
System
.out
.println(datas
.length
);
List
<String>msgs
=FileUtils
.readLines(new File("C:\\Users\\Administration\\Desktop\\新建文本文档.txt"),"UTF-8");
for(String string
:msgs
) {
System
.out
.println(string
);
}
FileUtils
.write(new File("happy.txt"), "开始学习\r\n","GBK");
FileUtils
.writeStringToFile(new File("happy.txt"), "正在学习\r\n","GBK",true);
FileUtils
.writeByteArrayToFile(new File("happy.txt"), "结束学习\r\n".getBytes("GBK"),true);
List
<String> datas2
=new ArrayList<String>();
datas2
.add("aaaa");
datas2
.add("cccc");
datas2
.add("dddd");
FileUtils
.writeLines(new File("happy.txt"),datas2
,"...",true);
}
public void TestCopy() throws IOException
{
new File( "copy-io.PNG"));
new File( "D:\\workspace02\\IO流\\lib"));
new File("D:/workspace02/IO流/lib"));
image
&quality
=80&size
=b9999_10000
&sec
=1602059527230&di
=b81170ef43a6a6
496ab5815f70caa320
&imgtype
=0&src
=http
%3A
%2F%2Ft8
.baidu
.com
%2Fit
%2Fu
%3
D2247852322
%2C986532796
%26fm
%3D79%26app
%3D86%26f%3DJPEG
%3Fw
%3D1280%26h
%3D853"
;
String datas
=IOUtils
.toString(new URL("http://www.baidu.com"),"UTF-8");
System
.out
.println(datas
);
}
}
文件大小、目录大小 25 27行代码 读取文件,逐行读取,写出文件,写出列表68-94行 复制文件 96-110行代码 列出子孙级 FileUtils.listFiles(directory,fileFilter,dirFilter); ( 第一个参数directory是写目录路径,第二个参数fileFilter是做过滤的,比如你只想要.java 的文件或者.class的文件,第三个参数dirFilter是表示是否显示子孙目录里面的文件)
Collection
<File> files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
EmptyFileFilter
.NOT_EMPTY
, null
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
上面代码显示该目录下不为空的文件,不查询子目录里面的文件
System
.out
.println("***********************************************");
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
EmptyFileFilter
.NOT_EMPTY
, DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
上面代码显示该目录下不为空的所有文件,以及子目录里面的所有不为空的文件
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"), new SuffixFileFilter("java"), DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
上面代码表示显示该目录以及子目录中所有以.java 为后缀的文件
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
FileFilterUtils
.or(new SuffixFileFilter("java"),new SuffixFileFilter("class")) , DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
上面代码表示显示该目录以及子目录中所有以.java 或者.class为后缀的文件
files
=FileUtils
.listFiles(new File("D:\\workspace02\\IO流"),
FileFilterUtils
.and(new SuffixFileFilter("java"),EmptyFileFilter
.NOT_EMPTY
) , DirectoryFileFilter
.INSTANCE
);
for(File file
:files
) {
System
.out
.println(file
.getAbsolutePath());
}
上面代码显示该目录以及子目录下所有以.java为后缀且不为空的文件
CommonsIO环境搭建链接:点这里即可http://commons.apache.org/proper/commons-io/ 下载解压后将commons-io-2.8.0.jar和commons-io-2.8.0-sources.jar(这里以2.8.0版本为例)复制到eclipse 如图1-1所示 然后右击commons-io-2.8.0.jar找到Build Path 选择Add To Build Path即可配置完成