我知道许多用户已经提出过这类问题,但这并没有解决我的问题。
我正在使用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()
。
如果有人能找到我做错的地方或如何解决这个问题,请帮我解决。
答案 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