《Java面向對象編程》導讀-讀取壓縮文件

java.nio.file包中的類封裝瞭一些操縱文件和目錄的細節,提供瞭一組功能強大的實用方法。最常用的類包括:

(1)Files類:提供瞭一組操縱文件和目錄的靜態方法,如移動文件的move()方法,拷貝文件的copy()方法,按照指定條件搜索目錄樹的find()方法等。此外,Files類的newDirectoryStream()方法會創建一個目錄流,程序得到這個目錄流之後,就能方便地遍歷整棵目錄樹。Files類的walkFileTree()方法也可以遍歷目錄樹,而且能在參數中指定遍歷目錄樹中每個文件時的具體操作。

(2)Path接口:表示文件系統中的一個路徑。這個路徑可以表示一棵包含多層子目錄和文件的目錄樹。

(3)Paths類:提供瞭創建Path對象的靜態方法。它的get(String first, String... more)返回一個Path對象,這Path對象所代表的路徑以first參數作為根路徑,以more可變參數作為子路徑。例如調用Paths.get ("/root","dir1","dir2") 方法,將返回一個Path對象,它表示的路徑為“/root/dir1/dir2”。

(4)FileSystem類:表示文件系統。

(5)FileSystems類:提供瞭創建FileSystem對象的靜態newFileSystem()方法。

Java.nio.file.FileSystem類不僅可以表示默認的本地磁盤文件系統,還可以表示ZIP壓縮文件系統。

讀取壓縮文件

以下例程1的ZipVisitor類通過FileSystems類的newFileSystem()方法創建瞭一個表示ZIP壓縮文件系統的FileSystem對象。接下來通過Files類的walkFileTree()方法來遍歷訪問這個ZIP壓縮文件中的所有文件。

例程1 ZipVistor.java

import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;

public class ZipVisitor {
public void readZip(String zipFile)throws Exception{
FileSystem fs=FileSystems.newFileSystem(Paths.get(zipFile),null);

//遍歷目錄樹
Files.walkFileTree(fs.getPath("/"),new SimpleFileVisitor<Path>(){
//在visitFile()方法中指定遍歷每個文件時的具體操作
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)throws IOException{
System.out.println(file);
return FileVisitResult.CONTINUE;
}
});
}

public static void main(String[] args)throws Exception {
ZipVisitor visitor=new ZipVisitor();
visitor.readZip("C:\jdk8\javafx-src.zip");
}
}

发表回复

相关推荐

〖小科普〗水胆水晶的一些小知识

1.天然水胆水晶 先上个天然货 水胆水晶球视频https://www.zhihu.com/video/1558058848090259456 这个小水胆是全包的,不存 ...

· 35秒前

HBuliderX 下载_安装步骤

HBuilderX是轻量编辑器和抢答IDE的完美结合体。敏捷的性能,清爽的界面,强大的功能集于一身,HBuilderX操作安装操作非常简 ...

· 2分钟前

兩地住建廳發文:三級資質統一延期至2024年底!

河北、四川省相繼發文,三級資質統一延期至2024年底!符合延期條件的企業,盡快申請有效期延續,有效期屆滿,企業仍未提出延...

· 3分钟前

囤菜指南 | 蔬菜發芽瞭還能吃嗎?

疫情期間,大傢是不是紛紛掌握瞭一門技藝:要麼不買菜,一買就夠吃3天的?關於如何囤菜,請大傢查看前情提要:菜是囤夠瞭,但...

· 4分钟前

暖通設計學習——防排煙系統設計(二 )

建規有關條文介紹對地下室、半地下室疏散樓梯間的規定  室內地面與室外地坪高差大於10m或3層及以上的地下、 半地下室的疏散...

· 7分钟前

Copyright 2015-2025 www.icpchaxun.com ©All Rights Reserved.