IO_Commons的使用以及搭建

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 {
		 //复制文件
		//FileUtils.copyFile(new File("D:\\workspace02\\IO流\\src\\IO.PNG"),
		new File( "copy-io.PNG"));
		//复制文件到目录
		//FileUtils.copyFileToDirectory(new File("D:\\workspace02\\IO流\\src\\IO.PNG"),
		new File( "D:\\workspace02\\IO流\\lib"));
		//复制目录到目录
		//FileUtils.copyDirectoryToDirectory(new File("D:/workspace02/IO流/dir"), 
		new File("D:/workspace02/IO流/lib"));
		//复制目录
		//FileUtils.copyDirectory(new File("D:/workspace02/IO流/dir"), new File("D:/workspace02/IO流/dir2"));
		//拷贝URL内容
//		String url="https://timgsa.baidu.com/timg?
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";
//		FileUtils.copyURLToFile(new URL(url), new File("marve.jpg"));
		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所示
图1-1
然后右击commons-io-2.8.0.jar找到Build Path 选择Add To Build Path即可配置完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值