NIO.2(Path接口和Files工具类)

本文介绍了Java NIO.2中的Path接口和Files工具类,展示了如何使用Path接口的方法获取路径信息,如根路径、父路径、名称元素等。同时,通过示例代码演示了Files工具类在创建文件、目录、读写文件等方面的功能,包括创建多级目录、写入文件内容、读取文件大小和内容。
摘要由CSDN通过智能技术生成
NIO.2
Path接口
  • Path接口是一共用在文件系统中定位文件的对象,通常表示一个依赖于文件系统的文件路径

NIO.2提供了Paths和Files两个工具类,其中Paths类提供了两个返回Path的静态方法,提供静态方法可以创建Path对象,Files类提供大量的静态方法来操作文件

Path中常用方法:

Path getRoot()         //返回该路径的根组件作为路径对象,如果此路径没有根组件,返回null
Path getParent()       //返回父路径,如果此路径没有父路径,返回null
int getNameCount()      //返回路径中名称元素的数量
Path getName(int index) //返回此路径的名称元素作为路径对象
boolean endsWith(String other) //判断当前路径是否以指定的字符串结尾
URI toUri()     //返回表示此路径的URI地址
Path toAbsolutePath()  //返回表示此路径的绝对路径的路径对象

代码:

package com.Put;

import java.nio.file.Path;
import java.nio.file.Paths;

public class IO {
    public static void main(String[] args) throws Exception {
        //使用Paths的get()方法创建Path对象
        Path path = Paths.get("E:\\Idea\\JavaSE\\重新学习\\src");
        //输出path对象中的信息
        System.out.println("path的根路径:"+path.getRoot());
        System.out.println("path的父路径:"+path.getParent());
        System.out.println("path中路径名称数:"+path.getNameCount());
        //循环输出路径名称
        for (int i = 0; i < path.getNameCount(); i++) {
            //获取指定索引处的路径名称
            Path name = path.getName(i);
            System.out.println("索引为"+i+"的路径名称:"+name);

        }
        System.out.println("path的URI路径为:"+path.toUri());
        System.out.println("path的绝对路径:"+path.toAbsolutePath());
    }

}

运行结果:

path的根路径:E:\
path的父路径:E:\Idea\JavaSE\重新学习
path中路径名称数:4
索引为0的路径名称:Idea
索引为1的路径名称:JavaSE
索引为2的路径名称:重新学习
索引为3的路径名称:src
path的URI路径为:file:///E:/Idea/JavaSE/重新学习/src/
path的绝对路径:E:\Idea\JavaSE\重新学习\src
Files工具类
  • File工具类是一个操作文件的工具类

Files工具类常用的方法:

static Path createFile(Path path, FileAttribute<?>... attrs) //创建一个新的空文件,如文件存在,则创建失败
static Path createDirectory(Path dir, FileAttribute<?>... attrs)    //创建多级目录
static Path write(Path path,Iterable<? extends CharSequence> lines,OpenOption... options)
                                                                           //将文本行写入文件,并传入指定的写入模式
static List<String> readAllLines(Path path)    //从文中读取所有行
static long size(Path path)     //返回文件的大小(以字节为单位)

代码如下:

package com.Put;

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;

public class IO {
    public static void main(String[] args) throws Exception {
        //定义一个目录路径的Path对象
        Path directoryPath = Paths.get("E:\\Idea\\JavaSE\\重新学习\\test");
        //根据path创建多级目录
        Files.createDirectories(directoryPath);
        System.out.println("目录创建成功!");
        //定义一个文件路径的Path对象
        Path filePath = Paths.get("E:\\Idea\\JavaSE\\重新学习\\test\\test1.txt");
        //根据Path对象创建一个文件
        Files.createFile(filePath);
        //创建一个List集合,向其添加内容
        List<String> list = new ArrayList<String>();
        list.add("这是一个测试文件");
        //将集合中的内容追加写入到指定的文件中
        Files.write(filePath,list, StandardOpenOption.APPEND);
        List<String> lines = Files.readAllLines(filePath);
        System.out.println("文件的大小为:"+Files.size(filePath));
        System.out.println("文件的内容为:"+lines);

    }

}

运行结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等慢慢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值