日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

File、Paths和Files類(lèi)的區(qū)別及使用

時(shí)間:2022-10-25 21:53:26 類(lèi)型:JAVA
字號(hào):    

Paths:通過(guò)get()方法返回一個(gè)Path對(duì)象,Path用于表示文件路徑和文件。

Files:提供了大量處理文件的方法,例如文件復(fù)制、讀取、寫(xiě)入,獲取文件屬性、快捷遍歷文件目錄等.....

Files 和 Paths是Java8新增的工具類(lèi),在處理文件方面功能非常強(qiáng)大。

Paths類(lèi)

 //以當(dāng)前路徑作為Path對(duì)象
        Path p = Paths.get(".");
        //使用傳入的字符串返回一個(gè)Path對(duì)象
        Path p2 = Paths.get("D","ReviewIO","URL");
        //對(duì)應(yīng)的路徑
        System.out.println("p對(duì)象的對(duì)應(yīng)路徑:" + p.toString());
        System.out.println("p2對(duì)象的對(duì)應(yīng)路徑:" + p2.toString());
        //路徑數(shù)量是以路徑名的數(shù)量作為標(biāo)準(zhǔn)
        System.out.println("p路徑數(shù)量:" + p.getNameCount());
        System.out.println("p2路徑數(shù)量:" + p2.getNameCount());        
        //獲取絕對(duì)路徑
        System.out.println("p絕對(duì)路徑:" + p.toAbsolutePath());
        System.out.println("p2絕對(duì)路徑:" + p2.toAbsolutePath());
        //獲取父路徑
        System.out.println("p父路徑:"  + p.getParent());
        System.out.println("p2父路徑:" + p2.getParent());
        //獲取p2對(duì)象的文件名或者文件目錄名        System.out.println(p2.getFileName());
        //通過(guò)Path對(duì)象返回一個(gè)分隔符對(duì)象
        Spliterator<Path> split = p2.spliterator();

Paths類(lèi)獲取文件或文件目錄路徑可以使用采用多個(gè)字符串形式,也可以使用Path.get(D:\ReviewIO\URL)這種形式。返回的Path對(duì)象完全可以代替File類(lèi)用于文件IO操作。

Files類(lèi)

Files完成文件復(fù)制的方法,方法很簡(jiǎn)單。

		Path source = Paths.get("F:","Java經(jīng)典練習(xí)題.pdf");
		Path dest = Paths.get("F:","files.txt");
		File f = new File("F:\ok.pdf");
		f.createNewFile();//如果f對(duì)象對(duì)應(yīng)路徑不存在就創(chuàng)建一個(gè)。	
		System.out.println("source對(duì)象的文件路徑:" + source);
		//復(fù)制文件
		Files.copy(source, new FileOutputStream(f))

Files完成寫(xiě)入文件的方法

		//寫(xiě)入內(nèi)容到文件
		ArrayList<String> as = new ArrayList<>();
		as.add("A");
		as.add("B");
		as.add("C");
		Files.write(dest, as, Charset.forName("GBK"));

Files類(lèi)的方法。

	public static void main(String[] args) throws IOException  {
		Path source = Paths.get("F:","Java經(jīng)典練習(xí)題.pdf");	
		/** 返回值為boolean的操作方法樣例 */
		System.out.println(Files.isHidden(source));//文件是否隱藏
		System.out.println(Files.isExecutable(source));//文件是否可執(zhí)行
		System.out.println(Files.isWritable(source));//文件是否可寫(xiě)
		//獲取Paths對(duì)象對(duì)應(yīng)的文件路徑的文件儲(chǔ)存
		FileStore f  = Files.getFileStore(Paths.get("F:"));
		FileStore e = Files.getFileStore(Paths.get("E:"));
		System.out.println("F盤(pán)的總大小" + f.getTotalSpace());
		System.out.println("F盤(pán)的可用大小" + f.getUsableSpace());
		System.out.println("F盤(pán)的未分配空間" + f.getUnallocatedSpace());
				
	}


除了以上的方法之外,F(xiàn)iles類(lèi)還提供遍歷文件和目錄、監(jiān)控文件變化、讀取和設(shè)置文件權(quán)限、查看文件屬性的方法,功能十分強(qiáng)大。


<