IO学习7

io操作apache 有个工具库 叫common-io;都已经把api封装好了,重点是FileUtils 类

package apacheTest;

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 javax.sound.sampled.LineListener;

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.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;



public class IO {
	public static void main(String[] args) throws IOException {
//		// 目录的长度
//		long len =FileUtils.sizeOf(new File("/Users/wangrong/eclipse-workspace/apacheTest/lib"));
//		System.out.println(len);
//		// 文件的长度
//		 len =FileUtils.sizeOf(new File("/Users/wangrong/eclipse-workspace/apacheTest/lib/commons-io-2.6-sources.jar"));
//		System.out.println(len);
		
		/*********************/
		// 目录下的非空文件 只是文件不包含文件夹
//		Collection<File> files = FileUtils.listFiles(
//				new File("/Users/wangrong/eclipse-workspace/apacheTest/src"), 
//				EmptyFileFilter.NOT_EMPTY, 
//				null
//				);
//		for (File file : files) {
//			System.out.println(file.getAbsolutePath());
//		}
		
		
//		// 目录下的非空文件 包含文件夹下的文件 递归查找
//				Collection<File> files = FileUtils.listFiles(
//						new File("/Users/wangrong/eclipse-workspace/apacheTest/src"), 
//						EmptyFileFilter.NOT_EMPTY, 
//						DirectoryFileFilter.INSTANCE
//						);
//				for (File file : files) {
//					System.out.println(file.getAbsolutePath());
//				}
//		// 只看文件后缀是java的
//		Collection<File> files = FileUtils.listFiles(
//				new File("/Users/wangrong/eclipse-workspace/apacheTest/src"), 
//				new SuffixFileFilter("java"), 
//				DirectoryFileFilter.INSTANCE
//				);
//		for (File file : files) {
//			System.out.println(file.getAbsolutePath());
//		}
		
		// 只看文件后缀是java且内容为 空的
//				Collection<File> files = FileUtils.listFiles(
//						new File("/Users/wangrong/eclipse-workspace/apacheTest/src"), 
//						FileFilterUtils.and(new SuffixFileFilter("java"),EmptyFileFilter.EMPTY ), 
//						DirectoryFileFilter.INSTANCE
//						);
//				for (File file : files) {
//					System.out.println(file.getAbsolutePath());
//				}
		
		/*********************/
		//读取文件
//		String msg= FileUtils.readFileToString(
//				new File("/Users/wangrong/eclipse-workspace/apacheTest/src/aaa"),
//				"UTF-8"
//				); 
//		System.out.println(msg);
//		byte[] datas = FileUtils.readFileToByteArray(
//				new File("/Users/wangrong/eclipse-workspace/apacheTest/src/aaa"));  
//		System.out.println(datas.length);
//		
//	 // 逐行读取1
//		
//		List<String> msgs= FileUtils.readLines(
//				new File("/Users/wangrong/eclipse-workspace/apacheTest/src/aaa"),
//				"UTF-8"
//				); 
//		for (String string : msgs) {
//			System.out.println(string);
//		}
		// 逐行读取2
		
//				LineIterator it= FileUtils.lineIterator(
//						new File("/Users/wangrong/eclipse-workspace/apacheTest/src/aaa"),
//						"UTF-8"
//						); 
//				while(it.hasNext()) {
//					System.out.println(it.nextLine());
//				}
		
		
		
		/*********************/
		// 写出文件
//		String path = "/Users/wangrong/eclipse-workspace/apacheTest/aaaa.txt";
//		// true 表示可以追加
//		FileUtils.write(new File(path), "学习是一件幸福的事情\r\n","UTF-8");
//		FileUtils.writeStringToFile(new File(path), "学习是一件辛苦的事情\r\n","UTF-8",true);
//		FileUtils.writeByteArrayToFile(new File(path), "学习是一件卖力的事情\r\n".getBytes("UTF-8"),true);
//		
//		// 写出列表
//		List<String> data =new ArrayList<String>();
//		data.add("马云");
//		data.add("马化腾");
//		data.add("李彦宏");
//		FileUtils.writeLines(new File(path), data,"-->",true);
		
		/*********************/
		// 复制文件
//		String path = "/Users/wangrong/eclipse-workspace/apacheTest/aaaa.txt";
//		FileUtils.copyFile(new File(path), new File("/Users/wangrong/eclipse-workspace/apacheTest/bbb.txt"));
		
		//
//		// 复制文件到目录
//		String path = "/Users/wangrong/eclipse-workspace/apacheTest/aaaa.txt";
//		FileUtils.copyFileToDirectory(new File(path), new File("/Users/wangrong/eclipse-workspace/apacheTest/lib"));
		// 复制目录到目录,包括文件夹
//		String path = "/Users/wangrong/eclipse-workspace/apacheTest/lib";
//		FileUtils.copyDirectoryToDirectory(new File(path), new File("/Users/wangrong/eclipse-workspace/apacheTest/lib2"));
//		
//		
//		// 复制目录到目录,不包括文件夹
//				String path = "/Users/wangrong/eclipse-workspace/apacheTest/lib";
//				FileUtils.copyDirectory(new File(path), new File("/Users/wangrong/eclipse-workspace/apacheTest/lib2"));
//		
		
		// 复制url的内容
//		String path = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1573394765723&di=046a0daf84db5c8b8cbc09eb11c35a3e&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F16%2F11%2F16%2Fdda09d364d45255fe064345534556269.jpg";
//		FileUtils.copyURLToFile(new URL(path), new File("/Users/wangrong/eclipse-workspace/apacheTest/lib/name.png"));

		
//		// 输出网站内容
//		String data=IOUtils.toString(new URL("http://www.baidu.com"),"UTF-8");
//		System.out.println(data);
		// 输出网站内容 网易的 utf-8 会乱码 要用gbk
				String data=IOUtils.toString(new URL("http://www.163.com"),"gbk");
				System.out.println(data);
		
		/*********************/
	}
}
发布了189 篇原创文章 · 获赞 10 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/wangrong111222/article/details/103000981