IO相关的常用工具包

常用工具包Commons-io

Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。

作用:提高IO流的开发效率。

使用步骤:

1、在项目中创建一个文件夹:lib

2、将jar包复制粘贴到lib文件夹

3、右键点击jar包,选择Add as Library--->点击OK

4、在类中导包使用

java 复制代码
public class CommonsIODemo1 {
    public static void main(String[] args) throws IOException {
    /*
    FileUtils类
       static void copyFile(File srcFile, File destFile)                 复制文件
       static void copyDirectory(File srcDir, File destDir)              复制文件夹
       static void copyDirectoryToDirectory(File srcDir, File destDir)   复制文件夹
       static void deleteDirectory(File directory)                       删除文件夹
       static void cleanDirectory(File directory)                        清空文件夹
       static String readFileToString(File file, Charset encoding)       读取文件中的数据变成成字符串
       static void write(File file, CharSequence data, String encoding)  写出数据

    IOUtils类
       public static int copy(InputStream input, OutputStream output)    复制文件
       public static int copyLarge(Reader input, Writer output)          复制大文件
       public static String readLines(Reader input)                      读取数据
       public static void write(String data, OutputStream output)        写出数据
    */
        File src1 = new File("myio\\a.txt");
        File dest1 = new File("myio\\copy.txt");
        FileUtils.copyFile(src1,dest1);//复制文件

        File src2 = new File("D:\\aaa");
        File dest2 = new File("D:\\bbb");
        FileUtils.copyDirectoryToDirectory(src2,dest2);//复制文件夹,会把aaa文件夹复制到bbb文件夹里面

        File src3 = new File("D:\\bbb");
        FileUtils.cleanDirectory(src3);//清空文件夹
    }
}

常用工具包Hutool

Hutool官网: https://hutool.cn/

API文档: https://apidoc.gitee.com/dromara/hutool/

中文使用文档: https://hutool.cn/docs/#/

java 复制代码
public class Test1 {
    public static void main(String[] args) {
    /*
     FileUtil类:
       file:根据参数创建一个file对象
       touch:根据参数创建文件

       writeLines:把集合中的数据写出到文件中,覆盖模式。
       appendLines:把集合中的数据写出到文件中,续写模式。
       readLines:指定字符编码,把文件中的数据,读到集合中。
       readUtf8Lines:按照UTF-8的形式,把文件中的数据,读到集合中

       copy:拷贝文件或者文件夹
    */
        File file1 = FileUtil.file("D:\\", "aaa", "bbb", "a.txt");
        System.out.println(file1);//D:\aaa\bbb\a.txt

        File touch = FileUtil.touch(file1);
        System.out.println(touch);

        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("aaa");
        list.add("aaa");
        File file2 = FileUtil.writeLines(list, "D:\\a.txt", "UTF-8");
        System.out.println(file2);

        ArrayList<String> list2 = new ArrayList<>();
        list2.add("aaa");
        list2.add("aaa");
        list2.add("aaa");
        File file3 = FileUtil.appendLines(list2, "D:\\a.txt", "UTF-8");//不会清空文件内容
        System.out.println(file3);
        
        List<String> list4 = FileUtil.readLines("D:\\a.txt", "UTF-8");
        System.out.println(list4);
    }
}
相关推荐
咖啡教室17 分钟前
java日常开发笔记和开发问题记录
java
咖啡教室24 分钟前
java练习项目记录笔记
java
鱼樱前端1 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea1 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea2 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
李少兄3 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝3 小时前
【设计模式】原型模式
java·设计模式·原型模式
云上艺旅4 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
可乐加.糖4 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
s9123601014 小时前
rust 同时处理多个异步任务
java·数据库·rust