flash air中读取本地文件的三种方法

来源:互联网 发布:什么软件升级win10 编辑:程序博客网 时间:2024/05/18 09:15

actionscript中读取本地文件操作有两种代码如下

1.使用File和FileStream两个类,FileStream负责读取数据的所以操作:(同步操作)

?
1
2
3
4
5
var stream:FileStream = new FileStream();
var file:File = new File('E:/test.txt');//绑定一个文件
stream.open(file,FileMode.READ);//读取文件
trace(stream.readMultiByte(stream.bytesAvailable,'utf-8'));
stream.close();

稍微需要注意的一点是我们的File()函数里传的路径字符串,里面全都使用的是正斜杠,如果使用了反斜杠,你就会收到来自程序的错误。

2.仅File类(异步操作)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
private var file:File;
public function Tracer()
{
    file = new File('E:/daili.txt');//绑定一个文件
    file.addEventListener(Event.COMPLETE,onComplete);
    file.load();//执行读取操作
}
         
private function onComplete(event:Event):void
{
    var data:ByteArray = file.data;
    trace(data.readMultiByte(data.bytesAvailable,'utf-8'));
}

3.使用File和FileStream(异步操作)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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();
}
人和人不要比。自己做自己。
原创粉丝点击