Java NIO Path介面操作檔案
1、前言
Path介面位於java.nio.file包中,所以Path介面的完全限定名稱為java.nio.file.Path。Java Path例項表示檔案系統中的路徑。一個路徑可以指向一個檔案或一個目錄。路徑可以是絕對路徑,也可以是相對路徑。在許多方面,java.nio.file.Path介面類似於java.io.File類,但是有一些細微的差別。不過,在許多情況下,您可以使用Path介面來替換File類的使用。
2、Path 的使用
2.1 建立一個Path例項
可以使用Paths類(java.nio.file.Paths)中的靜態方法來建立路徑例項,名為Paths.get()。
public class PathExample {
public static void main(String[] args) {
Path path = Paths.get("D:\\data\\test\\log");
}
}
2.2 API的使用
- static Path get(String first, String… more)
將給定的字串拼接成路徑
Path absolutePath = Paths.get("G:\\","data","\\test","\\log");
Path relativepath = Paths.get("test","\\log");
System.out.println("絕對路徑是:"+absolutePath);
System.out.println("相對路徑是:"+relativepath);
控制檯輸出
絕對路徑是:G:\data\test\log
相對路徑是:test\log
- Path resolve(Path other) 或 Path resolve(String other)
根據指定路徑解析路徑 若 other 是絕對路徑,那麼就返回 other ;否則,返回通過連線 this 和 other 獲得的路徑。
Path path1 = Paths.get("D:\\data\\test\\log");
System.out.println(path1.resolve("/log")); //D:\log
System.out.println(path1.resolve("./log")); //D:\data\test\log\.\log
System.out.println(path1.resolve("../log")); //D:\data\test\log\..\log
- Path resolveSibling(Path other) 或 Path resolveSibling(String other)
若 other 是絕對路徑, 那麼就返回 other ;否則,返回通過連線 this 的父路徑和 other 獲得的路徑
Path path1 = Paths.get("D:\\data\\test\\log");
System.out.println(path1.resolveSibling("/log")); //D:\log
System.out.println(path1.resolveSibling("./log")); //D:\data\test\.\log
System.out.println(path1.resolveSibling("../log")); //D:\data\test\..\log
- toAbsolutePath()
返回與該路徑等價的絕對路徑
System.out.println(Paths.get("log","test").toAbsolutePath()); //G:\IDEAplace\multithreading\log\test
- relativize(Path other)
構造此路徑和給定路徑之間的相對路徑。
Path path2 = Paths.get("D:\\data\\test\\logs\\java.log");
System.out.println(path1.relativize(path2)); // ..\logs\java.log
- subpath(int beginIndex, int endIndex)
擷取路徑,包括第一個索引,不包括第二個索引
Path path = Paths.get("D:\\data\\test\\log");
System.out.println(path.subpath(0, 2)); // data\test
其他的請自行參考Api 幫助文件
相關文章
- 如何在Java中使用檔案操作API: java.nio.file.Path?- marcobehlerJavaAPI
- java 檔案的操作(Path、Paths、Files)Java
- java NIO 常用的檔案操作方法Java
- Java7 新特性 —— java.nio.file 檔案操作Java
- 15 Java NIO Path-翻譯Java
- Java NIO 的 Files Path 和 PathsJava
- 優雅的操作檔案:java.nio.file 庫介紹Java
- Java NIO 檔案通道 FileChannel 用法Java
- Java NIO複製檔案功能Java
- Java NIO之擁抱Path和FilesJava
- Java NIO學習系列七:Path、Files、AsynchronousFileChannelJava
- Java NIO3:通道和檔案通道Java
- JAVA 操作檔案Java
- java 檔案操作Java
- 使用Java NIO 和 NIO2實現檔案輸入/輸出Java
- Java檔案操作 讀寫操作Java
- Java 檔案 IO 操作Java
- Java操作Excel檔案JavaExcel
- java操作ini檔案Java
- java檔案操作大全Java
- Java中使用新NIO.2讀寫檔案Java
- JAVA檔案操作知識Java
- Java : File 檔案類操作Java
- Java 檔案 IO 操作之 DirectIOJava
- Java操作PDF檔案之ITextJava
- (三)NIO元件Channel+ByteBuffer操作檔案【玩轉Netty系列】元件Netty
- JAVA類檔案操作和異常Java
- Java審計之檔案操作漏洞Java
- Java中檔案的讀寫操作Java
- Java中對檔案的操作 (轉)Java
- 【NIO】Java NIO之通道Java
- Java NIOJava
- 關於Java使用MinIO檔案伺服器操作檔案Java伺服器
- Java對檔案的操作及UDP,TCPJavaUDPTCP
- Java檔案操作工具類FileUtilsJava
- Java 按行讀檔案操作程式碼Java
- 【NIO】Java NIO之緩衝Java
- Java NIO系列2:NIO概述Java