日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 7:使用NIO.2进行文件过滤-第1部分

發布時間:2023/12/3 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 7:使用NIO.2进行文件过滤-第1部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NIO.2是自Java 7起JDK中包含的用于I / O操作的新API。使用此新API,您可以執行與

java.io以及許多出色的功能,例如:訪問文件元數據和監視目錄更改等。 顯然,由于向后兼容,java.io包不會消失,但是我們鼓勵為滿足新的I / O需求而開始使用NIO.2。 在本文中,我們將看到使用此API過濾目錄內容有多么容易。 有3種方法可以做到這一點,這就是為什么這篇文章是Part1。

你需要什么

NetBeans 7+或任何其他支持Java 7的IDE
JDK 7+

在某些應用程序中,過濾目錄的內容是一項常見的任務,而NIO.2使其變得非常簡單。 接下來將描述我們將要使用的類和接口:

  • java.nio.file.Path :接口,其對象可以表示文件系統中的文件或目錄。 就像java.io.File,但是在NIO.2中。 無論您要執行什么I / O操作,都需要該接口的實例。
  • java.nio.file.DirectoryStream :接口,其對象遍歷目錄的內容。
  • java.nio.file.Files :帶有對文件,目錄等進行操作的靜態方法的類。

我們將使用目錄模式來過濾目錄內容,這種模式類似于正則表達式,但更簡單。 該模式與文件,目錄等的名稱匹配。它們位于目錄內。 記住這一點很重要,使用此方法只能按文件名,目錄名等進行過濾。

有關浮動的更多信息,
檢查此Wiki 。 另外,在 Java文件 。

因此,假設我們有一個名為Images的目錄,并且需要遍歷該目錄中的文件,但是我們只需要.png文件。 為此,我們必須遵循以下步驟:

  • 獲取一個指向目錄Images的java.nio.file.Path實例。
  • 打開使用java.nio.file.Files類,以及將目錄和圖案(* .PNG)作為參數的新java.nio.file.DirectoryStream。
  • 使用java.nio.file.DirectoryStream實例遍歷目錄的內容。
  • 接下來是使用作為參數傳遞的模式掃描目錄的方法的源代碼:

    //in a class.../*** Scans the directory using the glob pattern passed * as parameter. * @param folder directory to scan* @param pattern glob pattern (filter)*/private static void scan(String folder, String pattern) {//obtains the Images directory in the app directoryPath dir = Paths.get(folder);//the Files class offers methods for validationif (!Files.exists(dir) || !Files.isDirectory(dir)) {System.out.println('No such directory!');}//Try with resources... so nice!try (DirectoryStreamds = Files.newDirectoryStream(dir, pattern)) {//iterate over the content of the directoryint count = 0;for (Path path : ds) {System.out.println(path.getFileName());count++;}System.out.println();System.out.printf('%d Files match the pattern', count);} catch (IOException ex) {ex.printStackTrace();}}

    以下是在Windows計算機上執行的結果:

    在我的Linux虛擬機上:

    這就是我從Java中喜歡的東西,只需編寫一次,就可以在任何地方運行! 希望您喜歡這篇文章,還有更多方法可以過濾目錄的內容,我們將在以后的文章中進行探討。

    單擊此處下載完整的源代碼。

    參考: Java 7:使用NIO.2進行文件過濾–來自Java和ME博客的JCG合作伙伴 Alexis Lopez的第1部分 。

    翻譯自: https://www.javacodegeeks.com/2012/10/java-7-file-filtering-using-nio-2-part-1.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Java 7:使用NIO.2进行文件过滤-第1部分的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。