码迷,mamicode.com
首页 > 其他好文 > 详细

jdk 1.7系列 (二)文件 I/O 的基石 :Path

时间:2018-10-31 01:13:04      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:static   信息   imp   基本用法   filename   掌握   normal   提取   ring   

在NIO.2的文件 I/O 中,Path是必须掌握的关键类之一。Path通常代表文件系统中的位置,比如 C:\Windows\System32 

 

什么是根目录、绝对路径和相对路径

比如说,代码要读取位于 /java7dev/src/main/Demo.java目录下的文件名。

  • 根路径为 /java7dev
  • 绝对路径为 /java7dev/src/main/
  • 进入到 绝对路径下 可使用相对路径 ../main

备注:这里简略概括,想深入了解可访问  https://www.cnblogs.com/crizygo/p/5369081.html

文件 I/O 的关键基础类

说明
Path Path类中的方法可以用来获取路径信息,访问该路径中的各元素,将路径转换为其他形式,或提取路径中的一部分。有的方法还可以匹配路径字串以及移除路径中的冗余项
Paths 工具类,提供返回路径的辅助方法,比如get(String first, String ... more) 和 get(URI url)
FileSystem 与文件系统交互的类,无论是默认的文件系统,还是通过其同意资源标识(URI) 获取的可选文件系统
FileSystems 工具类,提供各种方法,比如其中用于返回默认文件系统的FileSystems.getDefault()

 

备注:Path不一定代表真实的文件或者目录。可随心所欲地操作Path,用Files中的功能来检查文件是否存在,并对它进行处理。

 

Path的基本用法

package com.gudongcheng.jdk7.nio;

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

/**
 * @author lizuoyang
 * @date 2018/10/30
 * @desc Path类的用法
 */
public class PathDemo {
    public static void main(String[] args) {
        //创建绝对路径
        Path demo = Paths.get("/usr/bin/zip");

        //获取文件名
        System.out.println("File Name :" + demo.getFileName());

        //获取名称元素的数量
        System.out.println("Number of Name Elements:" + demo.getNameCount());

        //获取root路径(顶层)
        System.out.println("Root of Path:" + demo.getRoot());

        //获取0-2位子路径
        System.out.println("Subpath from Root, 2 elements deep:" + demo.subpath(0, 2));

        //去除冗余路径 获取文件的真正位置
        Path normalizedPath = Paths.get("./PathDemo.java").normalize();
        System.out.println("Path normalizedPath:" + normalizedPath);

        //合并两个Path 通过resolve()
        Path prefix = Paths.get("/uat");
        Path completePath = prefix.resolve("conf/application.properties");
        System.out.println("Path resolve :" + completePath.toAbsolutePath());

        //File类和Path类的相互转换
        File file = new File("../demo.java");
        //File to Path
        Path file2Path = file.toPath();
        System.out.println("File to Path:" + file2Path.toAbsolutePath());

        //Path to File
        File path2File = file2Path.toFile();
        System.out.println("Path to File:" + path2File.getPath());
    }
}

jdk 1.7系列 (二)文件 I/O 的基石 :Path

标签:static   信息   imp   基本用法   filename   掌握   normal   提取   ring   

原文地址:https://www.cnblogs.com/gudongcheng/p/9880258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!