更新時(shí)間:2021-12-03 來(lái)源:黑馬程序員 瀏覽量:
File雖然可以訪問(wèn)文件系統(tǒng),但是File類(lèi)所提供的方法性能較低,大多數(shù)方法在出錯(cuò)時(shí)僅返回失敗而不提供異常信息,不僅如此,F(xiàn)ile類(lèi)還不能利用特定的文件系統(tǒng)的特性。為了彌補(bǔ)這種不足,NIO.2提供了一個(gè)Path接口,該接口是一共用在文件系統(tǒng)中定位文件的對(duì)象,通常表示一個(gè)依賴(lài)于系統(tǒng)的文件路徑。除此之外,NI0.2還提供了Paths和Files兩個(gè)工具類(lèi),其中Paths 類(lèi)中提供了兩個(gè)返回 Path的靜態(tài)方法,通過(guò)這兩個(gè)方法可以創(chuàng)建Path對(duì)象,而Files類(lèi)中提供了大量的靜態(tài)方法來(lái)操作文件。
Path中的常用方法如表7-10所示。
表7-10Path接口的常用方法
了解了Path接口的常用方法及其功能后,接下來(lái)通過(guò)一個(gè)案例來(lái)演示Path接口的基本使用如例7-20所示。
import java.nio.file.Path; import java.nio.file.Paths; public class Example20 { public static void main(String[] args)( //使用Paths的get()方法創(chuàng)建Path對(duì)象 Path path = Paths.get("D:\\test\\文件夾\\test.txt"); //輸出 Path對(duì)象中的信息 System.out.println("path的根路徑:" + path.getRoot()); System.out.println("path的父路徑:" + path.getParent()); System.out.println("path中的路徑名稱(chēng)數(shù):" + path.getNameCount()); //循環(huán)輸出路徑名稱(chēng) for (int i = 0; i < path.getNameCount(); i++) { //獲取指定索引處的路徑名稱(chēng) Path name = path.getName(i); System.out.println("索引為" + i + "的路徑的名稱(chēng)為:" + name); } System.out.println("path的URI路徑為:" + path.toUri()); System.out.println("path的絕對(duì)路徑:" + path.toAbsolutePath()); } }
運(yùn)行結(jié)果如7-29所示
例7-20中,首先使用Paths的get()方法創(chuàng)建了Path對(duì)象,然后分別使用Path 對(duì)象中的各種方法來(lái)輸出對(duì)象中的路徑信息。