讀取和寫入檔案的工作流程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 物件的 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 中的下列文章: |
|