![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2008
Сообщений: 17
|
По какой причине файл может не открываться в режиме записи (UPDATE или WRITE)?
Пытаюсь открыть таким кодом: var settingsFile:File = File.applicationDirectory.resolvePath("settings.xml"); var settingsFStream:FileStream = new FileStream(); settingsFStream.open(settingsFile, FileMode.WRITE); "SecurityError: fileWriteResource at runtime::SecurityManager$/checkPrivilegeForCaller() at flash.filesystem::FileStream/open() at LGCoverAS()[C:\Users\Ars\Desktop\LessonCompiler\LGCoverAS.as:28]" Код стоит в самом начале конструктора, никаких файлов до этого не открывалось. Сам файл существует, для чтения открывается корректно. При этом если создавать какой-то новый файл и писать в него, то тоже все работает - то есть принципиально запись возможна. Можно было бы предположить, что settings.xml открыт в какой-то другой проге, и происходит sharing violation, но он вроде бы нигде больше не открыт. |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 17
|
ага, оказывается, просто нельзя писать файл в applicationDirectory.
|
|
|||||
|
а допустим такую ситуацию:
var f1:File = new File(File.applicationDirectory.nativePath + "\\hello.txt") var f2:File = new File("app:/hello.txt") trace(f1.nativePath == f2.nativePath) //traces true то проблемы не возникает, файл пишется, поток закрывается, блокнотом открывается. А если то вываливается с [Fault] exception, information=SecurityError: fileWriteResource Разъясните такую ситуацию, пожалуйста. В чём разница? |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|