Java面试题:Files 的常用方法都有哪些?

本文将介绍 Files 类中常用的方法有哪些。

JDK 1.7 引入了 java.nio.file.Files 工具类, 此类仅由对文件、目录或其他类型的文件进行操作的静态方法组成。在大多数情况下,此处定义的方法将委托关联的文件系统提供程序执行文件操作。

Files 常用方法

Files.exists()  检测文件路径是否存在

Files.createFile()  创建文件

Files.createDirectory()  创建文件夹

Files.delete()  删除一个文件或目录

Files.copy()  复制文件

Files.move()  移动文件

Files.size()  查看文件个数

Files.read()  读取文件

Files.write()  写入文件

示例

演示 Files 对文件进行创建、写入、读取、删除等操作,操作如下:

import java.nio.file.*;
import java.nio.file.attribute.FileAttribute;

public class Demo {

    public static void main(String[] args) throws Exception {
        // 判断文件是否存在
        // LinkOption.NOFOLLOW_LINKS  表示不要使用符号链接
        Path path = FileSystems.getDefault().getPath("D:\\", "access.log");
        boolean exists = Files.exists(path, LinkOption.NOFOLLOW_LINKS);
        if(!exists) {
            // 不存在 access.log
            FileAttribute<?>[] attrs = {};
            Path newPath = Files.createFile(path, attrs);
            System.out.println("创建文件 " + newPath.toAbsolutePath());
        }

        // 向文件写入内容
        System.out.println("写入内容到 " + path.toAbsolutePath());
        Files.write(path, "www.hxstrive.com".getBytes("UTF-8"), StandardOpenOption.WRITE);

        // 从文件读取内容
        byte[] fileBytes = Files.readAllBytes(path);
        String content = new String(fileBytes, "UTF-8");
        System.out.println("读取文件:" + path.toAbsolutePath());
        System.out.println("文件内容:" + content);

        // 查看文件个数
        System.out.println("文件个数:" + Files.size(path));

        // 删除文件
        Files.delete(path);
        System.out.println("删除文件:" + path.toAbsolutePath());
    }

}

运行示例,输出如下:

创建文件 D:\access.log
写入内容到 D:\access.log
读取文件:D:\access.log
文件内容:www.hxstrive.com
文件个数:16
删除文件:D:\access.log
人生就像赛跑,不在乎你是否第一个到达终点,而在乎你有没有跑完全程。
1 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号