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,在方法中本身定義過濾器的規則
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 : 目的地是一個文件
構造方法的做用:
一、建立一個FileOutputStream對象
二、會根據構造方法中傳遞的文件/文件路徑,建立一個空的文件
三、會把FileOutputStream對象只想建立好的文件
寫入數據的原理(內存)
java程序-->JVM(java虛擬機) --> os(操做系統) -->os調用寫數據的方法 --> 把數據寫入到文件中
字節輸出流的使用步驟(重點):
一、建立一個FileOutputStream對象,構造方法中傳遞寫入數據的目的地
二、調用FileOutputStream對象中的方法write,把數據寫入到文件中
三、釋放資源(流使用會佔用必定的內存,使用完畢要把內存清空,提升程序的效率)
1 public class Demo01OutputStream { 2 public static void main(String[] args) throws IOException { 3 //一、建立一個FileOutputStream對象,構造方法中傳遞寫入數據的目的地 4 FileOutputStream fos = new FileOutputStream("a.txt"); 5 //二、調用FileOutputStream對象中的方法write,把數據寫入到文件中 6 // public abstract void write(int b) : 將指定的字節輸出流 7 fos.write(97); 8 //三、釋放資源(流使用會佔用必定的內存,使用完畢要把內存清空,提升程序的效率) 9 fos.close(); 10 } 11 }
文件存儲的原理和記事本打開文件的原理