如何删除应用程序目录中的文件?

时间:2009-11-19 04:34:05

标签: flex

我们正在将日志文件写入File.applicationDirectory,并希望清除旧的日志文件。问题是如何从该目录中删除文件?当我尝试从该目录中删除旧的日志文件时,它会给出安全性异常。反正有吗?

我知道你不应该写File.applicationDirectory,但我们正在写的是那里的日志。所以请不要只是说不要那样做!

谢谢,

赖安

3 个答案:

答案 0 :(得分:2)

安全解决方法的另一个技巧

var fileLoc:File= File.applicationDirectory.resolvePath("some.log");
var file:File=new File(fileLoc.nativePath);
fileStream.open(file,FileMode.WRITE);

第二个文件对象可以改变文件,没有任何问题。

答案 1 :(得分:1)

File.applicationDirectory是一个只读目录。

http://livedocs.adobe.com/flex/3/langref/flash/filesystem/File.html

答案 2 :(得分:1)

我发布后不久就找到了答案。我在FileTarget中查看他们如何将日志文件写入应用程序目录并找到了这个gem:

        var logFile:File = this._logDirectory.resolvePath(filename);
        logFile = new File(logFile.nativePath); // Hack to get around SecurityError if log directory exists within the application directory

因此,您只需指定完整的本机路径,而不是应用程序目录中的相对路径,您可以执行任何操作。有趣的安全模型!