讀取和寫入檔案的工作流程

Adobe AIR 1.0 以及更新的版本

讀取和寫入檔案的工作流程如下:

將指向某個路徑的 File 物件初始化。

File 物件代表您要使用檔案 (或者即將建立檔案) 的路徑。

var file:File = File.documentsDirectory; 
file = file.resolvePath("AIR Test/testFile.txt"); 

上述範例是使用 File 物件的 File.documentsDirectory 屬性和 resolvePath() 方法來初始化 File 物件。不過,您還可以使用其它多種方式,將 File 物件指向某個檔案。如需詳細資訊,請參閱 將 File 物件指向檔案

初始化 FileStream 物件。

呼叫 FileStream 物件的 open() 或 openAsync() 方法。

要呼叫的方法視您要開啟檔案來執行同步還是非同步作業而定。請使用 File 物件做為開啟方法的 file 參數。針對 fileMode 參數,請從 FileMode 類別指定常數,這個類別會指定檔案的使用方式。

例如,下列程式碼會初始化用來建立檔案並覆寫所有現有資料的 FileStream 物件:

var fileStream:FileStream = new FileStream(); 
fileStream.open(file, FileMode.WRITE); 

如需詳細資訊,請參閱 初始化 FileStream 物件以及開啟和關閉檔案 FileStream 開啟模式

如果您以非同步方式開啟檔案 (使用 openAsync() 方法),請為 FileStream 物件加入事件偵聽程式並加以設定。

這些事件偵聽程式方法會回應 FileStream 物件在各種情況下傳送的事件。這些情況包括從檔案讀取資料、發生 I/O 錯誤時,或者要寫入的資料已經全部寫入時。

如需詳細資訊,請參閱 非同步程式設計與以非同步方式開啟之 FileStream 物件所產生的事件

視需要納入用於讀取和寫入資料的程式碼。

許多 FileStream 類別的方法都與讀取和寫入資料有關 (這些方法都是以「read」或「write」做為開頭)。您選擇用來讀取或寫入資料的方法需視目標檔案的資料格式而定。

舉例來說,如果目標檔案中的資料屬於 UTF 編碼的文字,您就可以使用 readUTFBytes() writeUTFBytes() 方法。如果您要將資料當做位元組陣列來處理,則需使用 readByte() readBytes() writeByte() writeBytes() 方法。如需詳細資訊,請參閱 資料格式,以及選擇要使用的讀取和寫入方法

如果您是以非同步方式開啟檔案,請確保在呼叫讀取方法前,有足夠的資料可供使用。如需詳細資訊,請參閱 讀取緩衝區和 FileStream 物件的 bytesAvailable 屬性

要對檔案寫入資料之前,如果您希望查看可用的磁碟空間容量,可以查看 File 物件的 spaceAvailable 屬性。如需詳細資訊,請參閱 判斷磁碟的可用空間

使用完檔案時,請呼叫 FileStream 物件的 close() 方法。

呼叫 close() 方法可以讓其他應用程式使用該檔案。

如需詳細資訊,請參閱 初始化 FileStream 物件以及開啟和關閉檔案

如需使用 FileStream 類別讀取和寫入檔案的樣本應用程式,請參閱 Adobe AIR Developer Center 中的下列文章: