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();
}
|
人和人不要比。自己做自己。