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

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 中的下列文章: