air.File.documentsDirectory.resolvePath
,File.userDirectory.resolvePath
和air.File.applicationDirectory.resolvePath
之间的区别。
有人可以解释一下文件何时存储吗?尤其是在Windows系统中。
AIR 的 applicationStorageDirectory 会自动针对不同的操作系统定位到以下位置:
Windows 7 / Vista: c:\users\USERNAME\appdata\roaming\APPLICATIONNAME
Windows XP: c:\Documents and Settings\USERNAME\Application Data\APPLICATIONNAME
Mac OS X: /Users/USERNAME/Library/Preferences/APPLICATIONNAME
Linux (Ubuntu): /Users/USERNAME/.appdata/
此外,desktopDirectory、documentsDirectory、applicationDirectory(只读)也有各自特定的位置,这些内置便利功能允许 AIR 开发人员生成跨平台应用程序,而无需了解或专门编写目标操作系统的文件系统。
这些信息适用于AIR 1.0及更高版本(ActionScript 3.0)
File.applicationStorageDirectory:每个已安装的AIR应用程序都有一个唯一的存储目录。该目录是存储动态应用程序资产和用户偏好设置的适当位置。考虑将大量数据存储在其他位置。在Android和iOS上,应用程序存储目录会在卸载应用程序或用户选择清除应用程序数据时被删除,但在其他平台上不会。
File.applicationDirectory:应用程序安装的目录(以及任何已安装的资产)。在某些操作系统中,应用程序存储在单个包文件中而不是物理目录中。在这种情况下,可能无法使用本机路径访问内容。应用程序目录为只读。
File.desktopDirectory:用户的桌面目录。如果平台没有定义桌面目录,则在文件系统中使用另一个位置。
File.documentsDirectory:用户的文档目录。如果平台没有定义文档目录,则在文件系统中使用另一个位置。
File.userDirectory:用户目录。如果平台没有定义用户目录,则在文件系统中使用另一个位置。
如果在AIR应用程序描述符中指定了发布者ID,则会将发布者ID附加到应用程序ID。
File.applicationDirectory(只读)
/data/data/
File.applicationStorageDirectory
/data/data/<applicationID>/<filename>/Local Store
File.cacheDirectory
/data/data/<applicationID>/cache
File.desktopDirectory
/mnt/sdcard
File.documentsDirectory
/mnt/sdcard
temporary - 来自File.createTempDirectory()
和File.createTempFile()
/data/data/<applicationID>/cache/FlashTmp.<randomString>
File.userDirectory
/mnt/sdcard
File.applicationDirectory(只读)
/var/mobile/Applications/<uid>/<filename>.app
File.applicationStorageDirectory
/var/mobile/Applications/<uid>/Library/Application Support/<applicationID>/Local Store
File.cacheDirectory
/var/mobile/Applications/<uid>/Library/Caches
File.desktopDirectory - 不可访问
File.documentsDirectory
/var/mobile/Applications/<uid>/Documents
temporary - 来自 createTempDirectory()
和 createTempFile()
/private/var/mobile/Applications/<uid>/tmp/FlashTmp<randomString>
File.userDirectory - 不可访问
File.applicationDirectory (只读)
/opt/<filename>/share
File.applicationStorageDirectory
/home/<userName>/.appdata/<applicationID>/Local Store
File.desktopDirectory
/home/<userName>/Desktop
File.documentsDirectory
/home/<userName>/Documents
temporary - 来自 createTempDirectory()
和 createTempFile()
/tmp/FlashTmp.<randomString>
File.userDirectory
/home/<userName>
File.applicationDirectory (只读)
/Applications/<filename>.app/Contents/Resources
File.applicationStorageDirectory (AIR 3.2 及之前版本)
/Users/<userName>/Library/Preferences/<applicationID>/Local Store
File.applicationStorageDirectory (AIR 3.3 及之后版本)
/Users/<userName>/Library/Application Support/<applicationID>/Local Store
File.applicationStorageDirectory (AIR 3.3 及之后版本) 受沙盒限制
/Users/<userName>/Library/Containers/<bundleID>/Data/Library/Application Support/<applicationID>/Local Store
File.cacheDirectory
/Users/<userName>/Library/Caches
File.desktopDirectory
/Users/<userName>/Desktop
File.documentsDirectory
/Users/<userName>/Documents
temporary - createTempDirectory()
和createTempFile()
生成的临时文件
/private/var/folders/<userName?>/<randomString>/TemporaryItems/FlashTmp
File.userDirectory
/Users/<userName>
只读File.applicationDirectory
C:\Program Files\<filename>
File.applicationStorageDirectory
C:\Documents and settings\<userName>\ApplicationData\<applicationID>\Local Store
File.cacheDirectory
C:\Documents and settings\<userName>\Local Settings\Temp
File.desktopDirectory
C:\Documents and settings\<userName>\Desktop
File.documentsDirectory
C:\Documents and Settings\<userName>\My Documents
temporary - createTempDirectory()
和createTempFile()
生成的临时文件
C:\Documents and Settings\<userName>\Local Settings\Temp\<randomString>.tmp
File.userDirectory
C:\Documents and Settings\<userName>
从维克多的评论中复制:在OS X的较新版本中,applicationStorageDirectory将位于/Users/USERNAME/Library/Application Support/APPLICATIONNAME
这是2016年MAC OS的正确位置