国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

23.5.讀寫文件

2024-04-27 13:52:32
字體:
來源:轉載
供稿:網友
23.5.1.問題
我想在文件系統上創建,訪問和寫文件。
23.5.2.解決辦法
使用AIR的file system API的File, FileStream, 和FileMode類。
23.5.3.討論
一個File對象是一個指針,代表一個文件或一個目錄。要讀寫文件到硬盤驅動器,你可以使用FileStream把File對象放入一個緩沖區,通過FileStream類的同步和異步方法讀取和寫入。

當使用的同步的FileStream.open方法時,文件被當作一個ByteArray對象,其他任何操作將被暫停直到文件被讀取或寫入。而異步的FileStream.openAsync方法類似于URLStream對象,數據被放置在緩沖區。使用同步還是異步方法這取決于你的程序需求,但是有點需要注意,就是所有操作完成后要記得關閉流。

當調用FileStrema.open和FileStream.openAsync方法時可通過FileMode類的字符串常量設定文件的具體操作方式。FileMode.WRITE常量指當打開一個文件流,如果文件文件不存在則創建文件并寫入數據,如果文件存在則覆蓋所有數據。FileMode.APPEND常量指把緩沖區的數據追加到文件末尾,FileMode.UPDATE常量則既可以讀也可以寫文件。所有的寫指令當文件不存在時都會創建新文件,當使用FileMode.READ時,文件事先必須存在,并把文件數據讀取到緩沖區中。

為了讀寫文件,你需要把File對象指向一個用戶電腦中的文件。File類有一些靜態屬性和方法對應操作系統文件系統的標準目錄以及應用程序目錄和應用程序存儲目錄。

下面的例子使用同步的FileStream.open方法在桌面上寫文件:
+展開
-ActionScript
var file:File = File.desktopDirectory.resolvePath( "test.txt");
var stream:FileStream = new FileStream();
stream.open( file, FileMode.WRITE );
stream.writeUTFBytes( "Hello World");
stream.close();

名為test.txt的文件被創建或打開,使用FileStream.writeUTFBytes方法寫入文本Hello World。

要讀取文件數據,可使用FileStream.readUTFBytes方法:
+展開
-ActionScript
var file:File = File.desktopDirectory.resolvePath( "test.txt" );
var stream:FileStream = new FileStream();
stream.open( file, FileMode.READ );
trace( stream.readUTFBytes( stream.bytesAvailable ) );
stream.close();

當使用FileMode.READ參數打開文件時,FileStream對象會立即讀取數據到緩沖區,通過FileStream.bytesAvailable屬性訪問緩沖區數據。當使用同步的FileStream.open方法時,其他所有操作都暫停直到數據都被放入緩沖區,因為這個操作占據了主應用程序線程。你可以使用異步FileStream.openAsync 方法代替同步方法打開文件,并監聽progress 和complete事件。

如果使用FileMode.WRITE參數將會覆蓋任何其他數據,要檢測是否已經有文件存在,可使用File類的exists屬性:
+展開
-ActionScript
var file:File = File.desktopDirectory.resolvePath( "test.txt");
if( file.exists ){
trace( "File created:"+ file.creationDate );
file = File.desktopDirectory.resolvePath( "test2.txt");
}
var stream:FileStream = new FileStream();
stream.open( file, FileMode.WRITE );
stream.writeUTFBytes( "Hello World");
stream.close();

FileStream.writeUTFBytes和FileStream.readUTFByte方法只是FileStream類中讀寫方法的一小部分。

討論讀寫文件中,需要特別注意的是當AIR程序安裝時所創建的目錄的讀寫權限。在程序安裝時有個主要的目錄被創建, 它們是應用程序目錄和應用程序存儲目錄。

File.applicationDirectory和File.applicationStorageDirectory分別指向這兩個目錄,應用程序目錄是只讀的,而應用程序存儲目錄可讀寫,你可以讀取也可以寫入需要的文件數據。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆安县| 页游| 崇左市| 葫芦岛市| 将乐县| 牡丹江市| 伊通| 邹平县| 从化市| 子长县| 德惠市| 凌源市| 义乌市| 邓州市| 永川市| 炉霍县| 汉中市| 西峡县| 四川省| 静乐县| 吉木萨尔县| 平山县| 安庆市| 博客| 南平市| 定日县| 白山市| 双峰县| 南部县| 健康| 仁布县| 凤凰县| 鲁山县| 铁岭县| 岳普湖县| 昂仁县| 宕昌县| 台前县| 北票市| 东乌珠穆沁旗| 晋城|