日志文章

2019-12-25 aflfte2011

FileUtils的使用

package com.aflfte.commons;

import java.io.File;
import java.io.IOException;
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.LineIterator;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;

/**
 * 
 * 统计大小
 * @author jinhao
 *
 */
public class CIOTest {
public static void main(String[] args) throws IOException {
//文件的大小
long len=FileUtils.sizeOf(new File("src/com/aflfte/commons/CIOTest.java"));
System.out.println(len);
//目录的大小
len=FileUtils.sizeOf(new File("F:/myjava/IO_study04"));
System.out.println(len);


//文件列表listfiles的使用
//listfiles用法(目录,过滤器,)
//EmptyFileFilter.NOT_EMPTY  过虑空文件
//DirectoryFileFilter.INSTANCE  获取子孙级
//new SuffixFileFilter("class") 只要后缀是。class的文件
Collection<File> files=FileUtils.listFiles(new File("F:/myjava/IO_study04"), 
FileFilterUtils.or(new SuffixFileFilter("class"),new SuffixFileFilter("java")),
DirectoryFileFilter.INSTANCE);
for(File file:files) {
System.out.println(file.getAbsolutePath());
}



//fileutils 读取与写入 文件

//读取文件
String msg=FileUtils.readFileToString(new File("emp.txt"),"GBK");
System.out.println(msg);
byte[] datas=FileUtils.readFileToByteArray(new File("emp.txt"));
System.out.println(datas.length);

//逐行读取
List<String> msgs=FileUtils.readLines(new File("emp.txt"),"GBK");
for (String string : msgs) {
System.out.println(string);
}


LineIterator it=FileUtils.lineIterator(new File("emp.txt"),"GBK");
while(it.hasNext()) {
System.out.println(it.nextLine());
}

//写出内容
FileUtils.write(new File("1.txt"), "学习是一件伟大的事业\r\n","GBK");
FileUtils.writeStringToFile(new File("1.txt"), "学习是一件辛苦的事业\r\n","GBK",true);
FileUtils.writeByteArrayToFile(new File("1.txt"), "学习是一件幸福的事业\r\n".getBytes("GBK"),true);

//写出列表
List<String> datas1=new ArrayList<String>();
datas1.add("张三");
datas1.add("李四");
datas1.add("王五");
FileUtils.writeLines(new File("1.txt"), datas1,"|",true);

//复制文件

FileUtils.copyFile(new File("emp.txt"), new File("123.txt"));//拷贝文件
FileUtils.copyFileToDirectory(new File("22.txt"), new File("lib"));//拷贝文件到目录
FileUtils.copyDirectoryToDirectory(new File("lib"), new File("D:/"));//拷贝目录到目录
FileUtils.copyDirectory(new File("lib"), new File("lib2"));//拷贝目录、
FileUtils.copyURLToFile(new URL("http://www.aflfte.com"), new File("1.html"));
String baidu=IOUtils.toString(new URL("http://www.163.com"),"GBK");
System.out.println(baidu);
}
}



« 创建线程方式一 | 利用合并流合并文件»