Java——IO流(Commons)_9

1、获取文件目录大小

package IOTest_12;

import java.io.File;
/*
 * 读取大小
 */
import org.apache.commons.io.FileUtils;

public class CommonsIOTest_1 {
	public static void main(String[] args) {
		//文件大小
		long len = FileUtils.sizeOf(new File("测试.mp4"));
		System.out.println(len);
		//目录大小
		len = FileUtils.sizeOf(new File("F:/eclipse-workspace/Java300集_8"));
		System.out.println(len);		
	}
}

2、列出子孙级目录

package IOTest_12;

import java.io.File;
import java.util.Collection;

/*
 * 读取大小
 */
import org.apache.commons.io.FileUtils;
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;
/**
 * 列出子孙级目录
 * @author Root
 *
 */
public class CommonsIOTest_2 {
	public static void main(String[] args) {
		//只显示一层
		Collection<File> files = FileUtils.listFiles(
				new File("F:\\eclipse-workspace\\Java300集_8"), 
				EmptyFileFilter.NOT_EMPTY, null);
		for (File file : files) {
			System.out.println(file.getAbsolutePath());
		}
		System.out.println("------------------");
		//子孙级
		files = FileUtils.listFiles(
				new File("F:\\eclipse-workspace\\Java300集_8"), 
				EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
		for (File file : files) {
			System.out.println(file.getAbsolutePath());
		}
		System.out.println("------------------");
		//子孙级——指定过滤
		files = FileUtils.listFiles(
				new File("F:\\eclipse-workspace\\Java300集_8"), 
				new SuffixFileFilter("class"), DirectoryFileFilter.INSTANCE);
		for (File file : files) {
			System.out.println(file.getAbsolutePath());
		}
		System.out.println("------------------");
		//子孙级——指定过滤
		files = FileUtils.listFiles(
				new File("F:\\eclipse-workspace\\Java300集_8"), 
				new SuffixFileFilter("class"), DirectoryFileFilter.INSTANCE);
		for (File file : files) {
			System.out.println(file.getAbsolutePath());
		}
		System.out.println("------------------");
		//子孙级——指定过滤
		files = FileUtils.listFiles(
				new File("F:\\eclipse-workspace\\Java300集_8"), 
				FileFilterUtils.or(new SuffixFileFilter("class"),new SuffixFileFilter("java")), DirectoryFileFilter.INSTANCE);
		for (File file : files) {
			System.out.println(file.getAbsolutePath());
		}
	}
}

3、读取文件

package IOTest_12;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.sound.sampled.LineListener;

/*
 * 读取大小
 */
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;

/**
 * 读取文件
 * @author Root
 *
 */
public class CommonsIOTest_3 {
	public static void main(String[] args) throws IOException {
		//读取文件
		String msg = FileUtils.readFileToString(new File("abc.txt"),"GBK");
		System.out.println(msg);
		byte[] datas = FileUtils.readFileToByteArray(new File("abc.txt"));
		System.out.println(datas.length);
		//逐行读取
		List<String> msgs = FileUtils.readLines(new File("abc.txt"),"GBK");
		for (String string : msgs) {
			System.out.println(string);
		}
		System.out.println("----------");
		LineIterator it = FileUtils.lineIterator(new File("abc.txt"),"GBK");
		while(it.hasNext()) {
			System.out.println(it.nextLine());
		}
	}
}

4、写出文件

package IOTest_12;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.sound.sampled.LineListener;

/*
 * 读取大小
 */
import org.apache.commons.io.FileUtils;

/**
 * 
 * @author Root
 *
 */
public class CommonsIOTest_4 {
	public static void main(String[] args) throws IOException {
		//写出文件
		FileUtils.write(new File("CIO.txt"), "测试写出文件\r\n","GBK");
		FileUtils.writeStringToFile(new File("CIO.txt"), "测试写出文件\r\n","GBK",true);
		FileUtils.writeByteArrayToFile(new File("CIO.txt"), "测试写出文件\r\n".getBytes("GBK"),true);
		//写出列表
		List<String> datas = new ArrayList<String>();
		datas.add("测试1");
		datas.add("测试2");
		datas.add("测试3");
		FileUtils.writeLines(new File("CIO.txt"), datas,"...",true);
	}
}

5、文件拷贝

package IOTest_12;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import javax.sound.sampled.LineListener;

/*
 * 读取大小
 */
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;

/**
 *
 * @author Root
 *
 */
public class CommonsIOTest_5 {
	public static void main(String[] args) throws IOException {
		//复制文件
		FileUtils.copyFile(new File("情人.mp4"),new File("qr.mp4"));
		//复制文件到目录
		FileUtils.copyFileToDirectory(new File("img.png"), new File("lib"));
		//复制目录到目录
		FileUtils.copyDirectory(new File("lib"), new File("mkdir/lib"));
		//拷贝URL
		String url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1551899826700&di=6a078c018ed37648f5c0d1b171560c66&imgtype=0&src=http%3A%2F%2Fimg1.xiazaizhijia.com%2Fwalls%2F20151109%2F1024x768_ee5b2db1b4789b4.jpg";
		FileUtils.copyURLToFile(new URL(url), new File("aaa.jpg"));
		//获取网页源码
		String datas = IOUtils.toString(
				new URL("https://www.yanghuisen.cn"), "UTF-8");
		System.out.println(datas);
	}
}

发布了49 篇原创文章 · 获赞 5 · 访问量 8782

猜你喜欢

转载自blog.csdn.net/Asdzxc968/article/details/88369049