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

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

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

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

①下载:重要的事情说三遍!!一定要记住这个网站! 选择commons 选择IO 点击下载 下载 ②搭建:解压—>拷贝jar包到项目中去 将commons-io添加到构建路径中 搭建完成之后我们就可以使用其工具类了。

二、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<File> 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<String> 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<String> list = new ArrayList<>();
        list.add("西安");
        list.add("北京");
        list.add("上海");
        //          参数一:文件
        //          参数二:字符集
        //          参数三:要写入的列表
        //          参数四:连接符
        //          参数五:是否追加写入
        FileUtils.writeLines(new File("d.txt"),"UTF-8",list,"===",true);
    }

⑤复制文件(重要)

经验分享 程序员 微信小程序 职场和发展