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
- Java7 新特性 —— java.nio.file 檔案操作Java
- 優雅的操作檔案:java.nio.file 庫介紹Java
- Java NIO 的 Files Path 和 PathsJava
- Java NIO 檔案通道 FileChannel 用法Java
- Java NIO之擁抱Path和FilesJava
- Java NIO學習系列七:Path、Files、AsynchronousFileChannelJava
- Java 檔案 IO 操作Java
- 使用Java NIO 和 NIO2實現檔案輸入/輸出Java
- Java中使用新NIO.2讀寫檔案Java
- Java : File 檔案類操作Java
- JAVA檔案操作知識Java
- (三)NIO元件Channel+ByteBuffer操作檔案【玩轉Netty系列】元件Netty
- Java操作PDF檔案之ITextJava
- Java 檔案 IO 操作之 DirectIOJava
- Java審計之檔案操作漏洞Java
- JAVA類檔案操作和異常Java
- 關於Java使用MinIO檔案伺服器操作檔案Java伺服器
- Java對檔案的操作及UDP,TCPJavaUDPTCP
- java 語音用xml檔案實現圖形介面 xml檔案JavaXML
- 檔案操作
- java安全編碼指南之:檔案IO操作Java
- Java NIOJava
- 使用【Path Finder】來管理你的檔案
- Path Finder 10 for mac系統檔案管理Mac
- vivado常規操作之燒寫bit檔案_固化mcs檔案_除錯介面debug之ila與vio的操作除錯
- Java中使用jcifs庫操作SMB協議進行檔案操作Java協議
- C檔案與檔案的操作
- Java實現FTP跨伺服器檔案操作JavaFTP伺服器
- Java 對 properties 檔案操作 (ResourceBundle 類和 Properties 類)Java
- java IO流 對檔案操作的程式碼集合Java
- 05 檔案操作
- 2.8檔案操作
- 檔案IO操作
- linux 檔案操作Linux
- Python操作檔案Python
- 檔案操作(下)