Filter(過濾器)
在File類中有兩個和listFiles多載的方法,方法的引數傳遞的就是過濾器
File[] listFiles(FileFilter filter)
java.io.FileFilter介面:用于抽象路徑名(File物件)的過濾器
作用:用來過濾檔案(File物件)
抽象方法:用來過濾檔案的方法
boolean accept(File pathname) 測驗指定抽象路徑名是否應該包含在某個路徑名串列中
引數:
File pathname:使用 ListFilter方法遍歷目錄,得到的每一個檔案物件
File[] listFiles(FilenameFilter filter)
java.io.FilenameFilter介面:實作此介面的類實體可用于過濾器檔案名
作用:用于過濾檔案名稱
抽象方法:用來過濾檔案的方法
boolean accept(File dir,String name)測驗指定檔案是否應該包含在某一檔案串列中
引數:
File dir:構造方法中傳遞的被遍歷的目錄
String name:使用ListFilter方法遍歷 目錄,獲取每一個檔案/檔案夾的名稱
注意:
兩個過濾器介面是沒有實作類的,需要我們自己寫實作類,重寫過濾的方法accept,在方法中自己定義過濾器的規則
檔案過濾器(Filter)的原理

IO流的概念及分類

OutStream位元組輸出流
java.io.OutputStream: 這個抽象類是表示位元組輸出流的所有類的超類,
定義了一些子類共性的成員方法:
public void close() : 關閉此輸出流并釋放與此流相關聯的任何系統資源
public void flush() : 重繪此輸出流并強制任何緩沖的輸出位元組被寫出,
public void write(byte[] b) : 將 b.length 位元組從指定的位元組陣列寫入此輸出流
public void write(byte[] b,int off, int len) : 從指定的位元組陣列寫入 len位元組,從偏移量 off開始輸出到此輸出流
public abstract void write(int b) : 將指定的位元組輸出流
java.io.FileOutputStream extends OutputStream
FileOutputStream : 檔案位元組輸出流
作用:把記憶體中的資料寫入到硬碟的檔案中
構造方法:
FileOutputStream(String name) 創建一向具有指定名稱的檔案中寫入資料的輸出檔案流,
FileOutputStream(File file) 創建一個向指定File物件表示的檔案中寫入資料的檔案輸出流
引數: 寫入資料的目的
String name:目的地是一個檔案的路徑
File file : 目的地是一個檔案
構造方法的作用:
1、創建一個FileOutputStream物件
2、會根據構造方法中傳遞的檔案/檔案路徑,創建一個空的檔案
3、會把FileOutputStream物件只想創建好的檔案
寫入資料的原理(記憶體)
java程式-->JVM(java虛擬機) --> os(作業系統) -->os呼叫寫資料的方法 --> 把資料寫入到檔案中
位元組輸出流的使用步驟(重點):
1、創建一個FileOutputStream物件,構造方法中傳遞寫入資料的目的地
2、呼叫FileOutputStream物件中的方法write,把資料寫入到檔案中
3、釋放資源(流使用會占用一定的記憶體,使用完畢要把記憶體清空,提高程式的效率)
1 public class Demo01OutputStream { 2 public static void main(String[] args) throws IOException { 3 //1、創建一個FileOutputStream物件,構造方法中傳遞寫入資料的目的地 4 FileOutputStream fos = new FileOutputStream("a.txt"); 5 //2、呼叫FileOutputStream物件中的方法write,把資料寫入到檔案中 6 // public abstract void write(int b) : 將指定的位元組輸出流 7 fos.write(97); 8 //3、釋放資源(流使用會占用一定的記憶體,使用完畢要把記憶體清空,提高程式的效率) 9 fos.close(); 10 } 11 }
檔案存盤的原理和記事本打開檔案的原理
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/155285.html
標籤:Java

