apache的文件工具类FileUtils详解

 更新时间:2023年11月28日 08:54:25   作者:残城碎梦  
org.apache.commons.io.FileUtils是apache提供用来操作文件的工具类,可以简化文件操作,这篇文章主要介绍了apache的文件工具类FileUtils,需要的朋友可以参考下

org.apache.commons.io.FileUtils是apache提供用来操作文件的工具类,可以简化文件操作。

<!-- FileUtils -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

写文件

文件的写入,FileUtils其实一行代码就能实现。list.add的数据默认会换行。

String pathName = "F:/1.txt";
List<String> list = new ArrayList<>();
list.add("我:老板,给我涨涨工资吧!");
list.add("老板:好的~");
FileUtils.writeLines(new File(pathName), list);

读文件

List<String> list = FileUtils.readLines(new File(pathName));

将网页内容写到文件中

网址必须带上传输协议,即以http/https开头,否则会报java.net.MalformedURLException: no protocol(URL格式不正确:无协议)。

URL url = new URL("https://www.baidu.com");
FileUtils.copyURLToFile(url, new File("F:/1.txt"));

根据一个Url来创建一个文件

//使用绝对路径, 必须添加file://
File file1 = FileUtils.toFile(new URL("file://D:/ideawork/demo/1.txt"));
System.out.println(file1.getAbsolutePath());
//使用相对路径
File file2 = FileUtils.toFile(App.class.getResource("/test.txt"));
System.out.println(file2.getAbsolutePath());

获取文件大小

long size = FileUtils.sizeOf(new File("D:/ideawork/demo/1.txt"));

文件复制

File srcFile = new File("D:/ideawork/demo/1.txt");
File desFile = new File(App.class.getResource("/test.txt").getPath());
FileUtils.copyFile(srcFile, desFile);

移动文件到另外一个位置,删除老文件

FileUtils.moveFile(new File("D:/ideawork/demo/1.txt"), new File("D:/ideawork/demo/2.txt"));

拷贝目录

FileUtils.copyDirectory(new File("D:/ideawork/demo/test"), new File("D:/ideawork/demo/test2"), new FileFilter() {
    @Override
    public boolean accept(File file) {
        //return file.isDirectory() ? true : false; //只拷贝目录
        return true; //拷贝所有,包括目录和文件
    }
});

到此这篇关于apache的文件工具类FileUtils的文章就介绍到这了,更多相关apache文件工具类FileUtils内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • centos下yum搭建安装linux+apache+mysql+php环境教程

    centos下yum搭建安装linux+apache+mysql+php环境教程

    本篇文章介绍了centos下yum搭建安装linux+apache+mysql+php环境,对学习centos有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-10-10
  • Linux Centos7系统端口占用问题的解决方法

    Linux Centos7系统端口占用问题的解决方法

    这篇文章主要给大家介绍了关于Linux Centos7系统端口占用问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Linux字符终端如何用鼠标移动一个红色矩形详解

    Linux字符终端如何用鼠标移动一个红色矩形详解

    这篇文章主要给大家介绍了关于Linux字符终端如何用鼠标移动一个红色矩形的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • CentOS7 修改网卡名称为eth0&在VMWare中添加多网卡配置

    CentOS7 修改网卡名称为eth0&在VMWare中添加多网卡配置

    这篇文章主要介绍了CentOS7 修改网卡名称为eth0&在VMWare中添加多网卡配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 浅谈Linux信号机制

    浅谈Linux信号机制

    信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件
    2021-06-06
  • Linux 下sftp配置之密钥方式登录详解

    Linux 下sftp配置之密钥方式登录详解

    这篇文章主要介绍了Linux 下sftp配置之密钥方式登录详解的相关资料,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器,需要的朋友可以参考下
    2016-12-12
  • Linux的压缩和解压缩的方法总结

    Linux的压缩和解压缩的方法总结

    这篇文章主要介绍了Linux的压缩和解压缩的方法总结的相关资料,通过本文希望大家能掌握Linux 压缩和解压缩的知识,需要的朋友可以参考下
    2017-08-08
  • 简单谈谈apache与nginx

    简单谈谈apache与nginx

    简单的说apache是计算密集型,nginx是io密集型,各有优势,不存在谁取代谁
    2014-12-12
  • 详解Linux Centos7下安装Python的方法

    详解Linux Centos7下安装Python的方法

    本篇文章主要介绍了详解Linux Centos7下安装Python的方法,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Linux C 后台服务程序单进程控制的实现

    Linux C 后台服务程序单进程控制的实现

    这篇文章主要介绍了Linux C 后台服务程序单进程控制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论