讀取和寫入檔案的工作流程如下:
將指向某個路徑的 File 物件初始化。
File 物件代表您要使用檔案 (或者即將建立檔案) 的路徑。
var file:File = File.documentsDirectory;
file = file.resolvePath("AIR Test/testFile.txt");
上述範例是使用 File 物件的
File.documentsDirectory
屬性和
resolvePath()
方法來初始化 File 物件。不過,您還可以使用其它多種方式,將 File 物件指向某個檔案。如需詳細資訊,請參閱
將 File 物件指向檔案
。
呼叫 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 中的下列文章:
|
|
|