flash air中讀取本地文件的三種方法actionscript中讀取本地文件操作有兩種代碼如下 1.使用File和FileStream兩個(gè)類,F(xiàn)ileStream負(fù)責(zé)讀取數(shù)據(jù)的所以操作:(同步操作) var stream:FileStream = new FileStream();
var file:File = new File('E:/test.txt');//綁定一個(gè)文件
stream.open(file,FileMode.READ);//讀取文件
trace(stream.readMultiByte(stream.bytesAvailable,'utf-8'));
stream.close();
稍微需要注意的一點(diǎn)是我們的File()函數(shù)里傳的路徑字符串,里面全都使用的是正斜杠,如果使用了反斜杠,你就會(huì)收到來自程序的錯(cuò)誤。 2.僅File類(異步操作) private var file:File;
public function Tracer()
{
file = new File('E:/daili.txt');//綁定一個(gè)文件
file.addEventListener(Event.COMPLETE,onComplete);
file.load();//執(zhí)行讀取操作
}
private function onComplete(event:Event):void
{
var data:ByteArray = file.data;
trace(data.readMultiByte(data.bytesAvailable,'utf-8'));
}
3.使用File和FileStream(異步操作) var sourceFile:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt");
var stream:FileStream = new FileStream();
stream.addEventListener(Event.COMPLETE, readBytes);
stream.openAsync(sourceFile, FileMode.READ);
function readBytes(e:Event):void {
var bytes:ByteArray = new ByteArray();
trace("position 0:", stream.position); // 0
bytes[0] = stream.readByte();
trace("position 1:", stream.position); // 1
fileStream.readBytes(bytes, stream.position, 4);
trace("position 2:", stream.position); // 5
stream.close();
} |
|
|