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);
/*********************/
}
}