栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常用类(三):FileUtils类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常用类(三):FileUtils类

1. 什么是FileUtils类?

1.1 Common IO 是一个工具库,用来帮助开发IO功能.

包含了:IOUtils的使用,FileUtils的使用,FilenameUtils的使用

1.2 添加maven依赖:

    commons-io

    commons-io

    2.6

1.3 FileUtils 包含一些工具类,它们基于File对象工作,包括读,写,拷贝和比较文件

2. FileUtils类常用方法

2.1. 复制文件夹

FileUtils.copyDirectory(File srcDir, File destDir) // 复制文件夹(文件夹里面的文件内容也会复制)

FileUtils.copyDirectory(File srcDir, File destDir, FileFilter filter) // 复制文件夹,带有文件过滤功能

FileUtils.copyDirectoryToDirectory(File srcDir, File destDir) // 以子目录的形式将文件夹复制到到另一个文件夹下

2.2. 复制文件

FileUtils.copyFile(File srcFile, File destFile) // 复制文件

FileUtils.copyFile(File input, OutputStream output) // 复制文件到输出流

FileUtils.copyFileToDirectory(File srcFile, File destDir) // 复制文件到一个指定的目录

FileUtils.copyInputStreamToFile(InputStream source, File destination) // 把输入流里面的内容复制到指定文件

FileUtils.copyURLToFile(URL source, File destination) // 把URL 里面内容复制到文件(可下载文件)

FileUtils.copyURLToFile(URL source, File destination, int connectionTimeout, int readTimeout)

2.3. 把字符串写入文件

FileUtils.writeStringToFile(File file, String data, String encoding)

FileUtils.writeStringToFile(File file, String data, String encoding, boolean append)

2.4. 把字节数组写入文件

FileUtils.writeByteArrayToFile(File file, byte[] data)

FileUtils.writeByteArrayToFile(File file, byte[] data, boolean append)

FileUtils.writeByteArrayToFile(File file, byte[] data, int off, int len)

FileUtils.writeByteArrayToFile(File file, byte[] data, int off, int len, boolean append)

2.5. 把集合里面的内容写入文件

其中: encoding:文件编码,lineEnding:每行以什么结尾

FileUtils.writeLines(File file, Collection lines)

FileUtils.writeLines(File file, Collection lines, boolean append)

FileUtils.writeLines(File file, Collection lines, String lineEnding)

FileUtils.writeLines(File file, Collection lines, String lineEnding, boolean append)

FileUtils.writeLines(File file, String encoding, Collection lines)

FileUtils.writeLines(File file, String encoding, Collection lines, boolean append)

FileUtils.writeLines(File file, String encoding, Collection lines, String lineEnding)

FileUtils.writeLines(File file, String encoding, Collection lines, String lineEnding, boolean append)

2.6. 往文件里面写内容

FileUtils.write(File file, CharSequence data, Charset encoding)

FileUtils.write(File file, CharSequence data, Charset encoding, boolean append)

FileUtils.write(File file, CharSequence data, String encoding)

FileUtils.write(File file, CharSequence data, String encoding, boolean append)

2.7. 文件移动

FileUtils.moveDirectory(File srcDir, File destDir) // 文件夹在内的所有文件都将移动

FileUtils.moveDirectoryToDirectory(File src, File destDir, boolean createDestDir) // 以子文件夹的形式移动到另外一个文件下

FileUtils.moveFile(File srcFile, File destFile) // 移动文件

FileUtils.moveFileToDirectory(File srcFile, File destDir, boolean createDestDir) // 以子文件的形式移动到另外一个文件夹下

FileUtils.moveToDirectory(File src, File destDir, boolean createDestDir) // 移动文件或者目录到指定的文件夹内

2.8. 清空和删除文件夹

FileUtils.deleteDirectory(File directory) // 删除文件夹,包括文件夹和文件夹里面所有的文件

FileUtils.cleanDirectory(File directory) // 清空文件夹里面的所有的内容

FileUtils.forceDelete(File file) // 删除,会抛出异常

FileUtils.deleteQuietly(File file) // 删除,不会抛出异常

2.9. 创建文件夹

FileUtils.forceMkdir(File directory) // 创建文件夹(可创建多级)

FileUtils.forceMkdirParent(File file) // 创建文件的父级目录

2.10. 获取文件输入/输出流

FileUtils.openInputStream(File file)

FileUtils.openOutputStream(File file)

2.11. 读取文件

FileUtils.readFileToByteArray(File file) // 把文件读取到字节数组

FileUtils.readFileToString(File file, Charset encoding) // 把文件读取成字符串

FileUtils.readFileToString(File file, String encoding)

FileUtils.readLines(File file, Charset encoding) // 把文件读取成字符串集合

FileUtils.readLines(File file, String encoding)

2.12. 测试两个文件的修改时间

FileUtils.isFileNewer(File file, Date date)

FileUtils.isFileNewer(File file, File reference)

FileUtils.isFileNewer(File file, long timeMillis)

FileUtils.isFileOlder(File file, Date date)

FileUtils.isFileOlder(File file, File reference)

FileUtils.isFileOlder(File file, long timeMillis)

2.13. 文件/文件夹的迭代

FileUtils.iterateFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

FileUtils.iterateFiles(File directory, String[] extensions, boolean recursive)

FileUtils.iterateFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

FileUtils.lineIterator(File file)

FileUtils.lineIterator(File file, String encoding)

FileUtils.listFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

FileUtils.listFiles(File directory, String[] extensions, boolean recursive)

FileUtils.listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

2.14. 其他一些常用方法

FileUtils.isSymlink(File file) // 判断是否是符号链接

FileUtils.directoryContains(File directory, File child) // 判断文件夹内是否包含某个文件或者文件夹

FileUtils.sizeOf => 读取文件大小

        FileUtils.sizeOf(new File("D://test/test1"));//返回Long

        FileUtils.sizeOfAsBigInteger(new File("D://test/test1"));//返回BigInteger

FileUtils.sizeOfDirectory => 目录,级联计算文件下的所有文件大小

        FileUtils.sizeOfDirectory(new File("D://test/test1"));//返回Long

        FileUtils.sizeOfDirectoryAsBigInteger(new File("D://test/test1"));//返回BigIntege

FileUtils.getFile => 获取指定文件

        File file = FileUtils.getFile("D://test/test1/123.txt");

FileUtils.getFile => 获取指定目录下的:"lalala.txt", "lalala2.txt"

        File file1 = FileUtils.getFile(new File("D://test/test1"), "123.txt", "456.txt");

FileUtils.getTempDirectory()// 获取临时目录文件

FileUtils.getTempDirectoryPath()// 获取临时目录路径

FileUtils.getUserDirectory()// 获取用户目录文件

FileUtils.getUserDirectoryPath()// 获取用户目录路径

FileUtils.touch(File file) // 创建文件

FileUtils.contentEquals(File file1, File file2) // 比较两个文件内容是否相同

FileUtils.toFile => 根据URL获取文件

        //FileUtils.toFile(URL url)使用相对路径创建一个File对象

        String data = FileUtils.readFileToString(FileUtils.toFile(

        AjavaURLToFile.class.getResource("/ajava.txt")));

        System.out.println("data = " + data);

        //FileUtils.toFile(URL url)使用绝对路径创建一个File对象

        File file = FileUtils.toFile(new URL("file://D:/ajavademo.txt"));

        data = FileUtils.readFileToString(file);

        System.out.println("data = " + data);

FileUtils.toFiles => 根据多个URL获取多个文件文件,返回File[]数组

        // File[] toFiles(final URL[] urls)

        FileUtils.toFiles(null);

FileUtils.toURLs => 文件地址转为URL

        FileUtils.toURLs(new File[]{new File("D://test/test1")});

FileUtils.listFiles => 返回文件的列表 [ 目录 ] [ 过滤器 ] [ 递归 ]

        List files = (List) FileUtils.listFiles(new File("D://test"), new String[]{"doc"}, true);//         列出该目录下的所有doc文件,递归(扩展名不必带.doc)

        List fileList = (List)FileUtils.listFiles(dir,null,false);//列出该目录下的所有文件,不 递归

FileUtils.convertFileCollectionToFileArray => 把collection转换成File[]

        FileUtils.convertFileCollectionToFileArray(files);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281805.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号