unlocker todos temporales que programa para los eliminar dejan definitivamente como carpetas borrar archivos flex

flex - todos - ¿Cómo se puede eliminar un archivo en el directorio de la aplicación?



programa para eliminar carpetas que no se dejan borrar (3)

Estamos escribiendo archivos de registro en File.applicationDirectory y queremos eliminar archivos de registro antiguos. La pregunta es ¿cómo se eliminan los archivos de ese directorio? Cuando intento eliminar archivos de registro antiguos de este directorio, se produce una excepción de seguridad. ¿Hay alguna manera alrededor de esto?

Sé que se supone que no debes escribir en File.applicationDirectory, pero estamos escribiendo registros de todos modos. ¡Por favor no digas que no hagas eso!

Gracias,

Ryan


Encontré la respuesta poco después de publicarla. Estaba buscando en FileTarget cómo escriben el archivo de registro en el directorio de la aplicación y encontré esta joya:

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

Así que solo especifica la ruta nativa completa y no una ruta relativa desde el directorio de la aplicación y puedes hacer lo que quieras. Interesante modelo de seguridad!



Otro truco, para la solución de seguridad

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

El segundo objeto de archivo puede alterar el archivo sin ningún problema.