如何在Action Script 3中解决FileStream“错误#3013:文件或目录正在使用”?

时间:2017-06-05 08:15:02

标签: file actionscript-3 flex flex4 filestream

我知道许多用户已经提出过这类问题,但这并没有解决我的问题。

我正在使用FileStream在文件中写入一些内容,以下是我用来执行此操作的代码:

var fs:FileStream = new FileStream ();
fs.open( f , FileMode.WRITE ); // f is contains the file path
fs.writeBytes ( fzf.content ); // fzf is a FZipFile which contains some content
fs.close ();

但问题是,如果我正在编写一个文件,那么这是完美的工作,但如果我试图编写另一个文件而没有关闭应用程序,那么显示错误“文件或目录正在使用中“在fs.open行,所以我不知道我在哪里做错了,因为我在编写write方法后调用了close()

如果有人能找到我做错的地方或如何解决这个问题,请帮我解决。

1 个答案:

答案 0 :(得分:1)

您正试图一个接一个地保存文件,对吧?如果是这样,则会出现此错误,因为在您尝试编写下一个文件之前,文件的关闭速度不够快。您应该使用openAsync()而不是open()并在Filestream上侦听Event.CLOSE事件(它仅在异步模式下触发)。触发后,您可以编写下一个文件:

G = graph([1 1], [2 3]);
X = [1;0;1];
G.Nodes.Status = X;
G.Nodes.Status(2)

ans =
     0