Java学习——commons-io组件的环境搭建与简单使用

Java——commons-io组件的环境搭建与简单使用

一、commons-io组件的环境搭建

commons-io组件是apache里面的一个组件,组件的也就是jar包的集合。使用来简化我们io操作的。
Java学习——commons-io组件的环境搭建与简单使用_第1张图片
说起apache,不得不去夸一下这个组织,我们在以后的学习中很多开源的框架都来源于apache,这个组织是不盈利的,有很多大公司,比如阿里里巴巴,会将一些开源的代码交给apache发布。这些代码框架都是免费使用的…

1)下面我们来看一下使用idea搭建这个io组件:

①下载:重要的事情说三遍!!一定要记住这个网站!
Java学习——commons-io组件的环境搭建与简单使用_第2张图片
选择commons
Java学习——commons-io组件的环境搭建与简单使用_第3张图片
选择IO
Java学习——commons-io组件的环境搭建与简单使用_第4张图片
点击下载
Java学习——commons-io组件的环境搭建与简单使用_第5张图片
下载
Java学习——commons-io组件的环境搭建与简单使用_第6张图片
②搭建:解压—>拷贝jar包到项目中去Java学习——commons-io组件的环境搭建与简单使用_第7张图片
Java学习——commons-io组件的环境搭建与简单使用_第8张图片
将commons-io添加到构建路径中
Java学习——commons-io组件的环境搭建与简单使用_第9张图片
Java学习——commons-io组件的环境搭建与简单使用_第10张图片
搭建完成之后我们就可以使用其工具类了。

二、FileUtils的简单使用

①获取文件/文件夹的大小

        //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:全部子孙集
        Collection files = 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("-----这是一条华丽的分割线-----");

        //逐行读取
        List list = 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.写入列表
        ArrayList list = 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);
    }

你可能感兴趣的:(Java基础)