IO流commonsIO

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cheidou123/article/details/83214603

一、概述

引入依赖

  <dependencies>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.3</version>
            </dependency>
  </dependencies>

二、常用方法

1.统计文件以及目录大小

public class No100_Commonsio {
    public static void main(String[] args) {
        // 统计文件的大小
        long fileSize = FileUtils.sizeOf(new File("timg.jpeg"));
        System.out.println(fileSize);
        // 统计目录的大小
        long directroySize = FileUtils.sizeOf(new File("directory"));
        System.out.println(directroySize);
    }
}

2.列出子孙集

列出子孙集默认是列出子集,可以做过滤,比如以什么结尾,非空等等。

 // 递归子集
        Collection<File> son = FileUtils.listFiles(new File("directory"), EmptyFileFilter.NOT_EMPTY, null);
        for(File file : son){
            System.out.println(file.getAbsolutePath());
        }

        // 递归子孙集
        Collection<File> all = FileUtils.listFiles(new File("directory"), EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
        for(File file : all){
            System.out.println(file.getAbsolutePath());
        }

3.读取写出文件

3.1 读取文件
        String msg = FileUtils.readFileToString(new File("out.txt"),"UTF-8");
        System.out.println(msg);

        byte[] msgByte = FileUtils.readFileToByteArray(new File("out.txt"));
        System.out.println(msgByte.length);

        //逐行读取
        List<String> msgs = FileUtils.readLines(new File("out.txt"),"UTF-8");
        for(String line : msgs){
            System.out.println(line);
        }
3.2 写出文件
 //写出文件
        FileUtils.write(new File("write.txt"),"蔡","UTF-8");
        //最后一个参数是追加
        FileUtils.writeStringToFile(new File("write.txt"),"小","UTF-8",true);
        FileUtils.writeByteArrayToFile(new File("write.txt"),"彬".getBytes("UTF-8"),true);

        //写出列表
        List<String> msgList = new ArrayList<String>();
        msgList.add("第");
        msgList.add("一");
        FileUtils.writeLines(new File("write.txt"),msgList,"/",true);

4.文件转移

其中重点掌握拷贝url到文件

public class No101_CommonsIO_02 {
    public static void main(String[] args) throws Exception {
        // 拷贝文件到文件
        FileUtils.copyFile(new File("timg.jpeg"), new File("timg-copy.jpeg"));
        // 拷贝文件到目录
        FileUtils.copyFileToDirectory(new File("timg.jpeg"), new File("dest"));
        // 复制目录及子孙所有文件到目录
        FileUtils.copyDirectoryToDirectory(new File("directory"), new File("dest"));
        //复制目录下的文件到另外一个目录
        FileUtils.copyDirectory(new File("directory"), new File("dest"));
        //拷贝url到文件
        FileUtils.copyURLToFile(new URL("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540034625381&di=419a1f10036b4421ae95a4ac5dbd9b07&imgtype=0&src=http%3A%2F%2Fpic31.nipic.com%2F20130728%2F7447430_145214729000_2.jpg"), new File("url.jpg"));
    }
}

猜你喜欢

转载自blog.csdn.net/cheidou123/article/details/83214603