Java中NIO中Path类

[TOC]
文件系统可以通过java.nio.file.FileSystems这个final类来访问。 Java7中文件IO发送巨大变化,引入新类:

import java.nio.file.DirectoryStream;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileAttribute;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;

Path类

  • Path类用来表示文件路径和文件。构架Path对象的方法如下,

    1. 使用final类Paths中的两个static方法

      Path path = Paths.get("C:/", "Abc");
      Path path2 = Path.get("C:\Abc");
      URI u = URI.create("file:///C:/Abc/aa");
      Path p = Paths.get(u);
    2. FileSystems构造

      Path path3 = FileSystems.getDefault().getPath("C:/", "access.log");
    3. File和Path间转换,File与URI转换

      File file = new File("C:/my.ini");
      Path p1 = file.toPath();
      p1.toFile();
      file.toURI();
    4. 创建文件
      java
      Path target = Paths.get("C:\\mystruff.txt");
      try {
      if (!Files.exists(target))
      Files.createFile(target);
      } catch (IOException e) {
      e.printStackTrace();
      }
    5. Files.newBufferedReader读取文件

      try {
          BufferedReader reader = Files.newBufferedReader(Path.get("C:\\my.ini"), StandardCharsets.UTF_8);
          String str = null;
          while((str = reader.readLine()) != null) {
          System.out.println(str);
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
    6. 文件写操作

      try {
          BufferedWriter writer = File.newBufferedWriter(Path.get("C:\\my2.ini"), StandardCharsets.UTF_8);
          writer.write("写操作,测试");
          writer.flush();
          writer.close();
      } catch (IOException e) {
            e.printStackTrace();
      }

引用

Java文件IO操作应该抛弃File拥抱Paths和Files

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值