本文共 3670 字,大约阅读时间需要 12 分钟。
commons-io组件是apache里面的一个组件,组件的也就是jar包的集合。使用来简化我们io操作的。
说起apache,不得不去夸一下这个组织,我们在以后的学习中很多开源的框架都来源于apache,这个组织是不盈利的,有很多大公司,比如阿里里巴巴,会将一些开源的代码交给apache发布。这些代码框架都是免费使用的…①下载:重要的事情说三遍!!一定要记住这个网站!
选择commons 选择IO 点击下载 下载 ②搭建:解压—>拷贝jar包到项目中去 将commons-io添加到构建路径中 搭建完成之后我们就可以使用其工具类了。①获取文件/文件夹的大小
//1.获取文件大小 long l = FileUtils.sizeOf(new File("a.txt")); System.out.println(l); //2.获取文件夹大小 long l1 = FileUtils.sizeOf(new File("E:\\IdeaProjects\\MyJavaProjects001")); System.out.println(l1);
②获取内层目录与文件
public static void main(String[] args) { //封装文件夹 File file = new File("E:\\IdeaProjects\\MyJavaProjects001"); //获取其子孙集,返回的是Collection集合。 //参数一:文件 参数二:文件过滤器 参数三:目录过滤器 //EmptyFileFilter.NOT_EMPTY:非空文件 new SuffixFileFilter(".java"):后缀为.java的文件 //DirectoryFileFilter.INSTANCE:全部子孙集 Collectionfiles = FileUtils.listFiles(file, new SuffixFileFilter(".java"), DirectoryFileFilter.INSTANCE); //遍历集合取出其路径 for (File f : files) { System.out.println(f.getAbsolutePath()); } }
③读内容
public static void main(String[] args) throws IOException { //两个参数:参数一:文件 // 参数二:字符集 String s = FileUtils.readFileToString(new File("a.txt"), "UTF-8"); System.out.println(s); System.out.println("-----这是一条华丽的分割线-----"); //读内容到字节数组 byte[] bytes = FileUtils.readFileToByteArray(new File("a.txt")); System.out.println(bytes.length); System.out.println("-----这是一条华丽的分割线-----"); //逐行读取 Listlist = FileUtils.readLines(new File("a.txt"), "UTF-8"); for (String string : list) { System.out.println(string); } System.out.println("-----这是一条华丽的分割线-----"); //迭代器读取 LineIterator iterator = FileUtils.lineIterator(new File("a.txt"), "utf-8"); while (iterator.hasNext()){ System.out.println(iterator.nextLine()); } }
④写内容
public static void main(String[] args) throws IOException { //1.写入字符串 //四个参数 // 参数一:文件 // 参数二:写入的字符串 // 参数三:字符集 // 参数四:是否追加写入(默认为false) FileUtils.write(new File("b.txt"),"我们都是祖国的花朵","UTF-8",true); FileUtils.write(new File("b.txt"),"祖国的未来需要我们","UTF-8",true); //2.写入字节数组 // 参数一:文件 // 参数二:写入的字节数组 // 参数三:是否追加写入 FileUtils.writeByteArrayToFile(new File("c.txt"),"西安邮电大学".getBytes(),true); //3.写入列表 ArrayListlist = new ArrayList<>(); list.add("西安"); list.add("北京"); list.add("上海"); // 参数一:文件 // 参数二:字符集 // 参数三:要写入的列表 // 参数四:连接符 // 参数五:是否追加写入 FileUtils.writeLines(new File("d.txt"),"UTF-8",list,"===",true); }
⑤复制文件(重要)
public static void main(String[] args) throws IOException { /** * 一、复制文件 */ //1.复制文件 FileUtils.copyFile(new File("a.txt"),new File("aaaaa.txt")); //2.复制文件到某个文件夹 FileUtils.copyFileToDirectory(new File("a.txt"),new File("E:\\IdeaProjects\\MyJavaProjects001\\lib")); /** * 二、复制文件夹 */ //封装原文件路径和新文件路径 File oldFile = new File("E:\\IdeaProjects\\MyJavaProjects001\\src\\IOUtils"); File newFile = new File("E:\\IdeaProjects\\MyJavaProjects001\\src\\IOUtils"); //1.复制文件夹 FileUtils.copyDirectory(oldFile,newFile); //2.复制文件夹到某个文件夹 FileUtils.copyDirectoryToDirectory(oldFile,newFile); }
转载地址:http://mxiwi.baihongyu.com/