在空中存储文件中,位置存储文件的区别

9
我想请问air.File.documentsDirectory.resolvePathFile.userDirectory.resolvePathair.File.applicationDirectory.resolvePath之间的区别。

有人可以解释一下文件何时存储吗?尤其是在Windows系统中。

4个回答

25

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 开发人员生成跨平台应用程序,而无需了解或专门编写目标操作系统的文件系统。


2
如果有人最近遇到这个问题,我想追加以下内容:在较新的OS X版本中,applicationStorageDirectory将位于/Users/USERNAME/Library/Application Support/APPLICATIONNAME。 - Victor
@TheDarkIn1978,你应该在你的回答中包含Victor的建议。 - Sharique Abdullah

21

这些信息适用于AIR 1.0及更高版本(ActionScript 3.0)

  • File.applicationStorageDirectory:每个已安装的AIR应用程序都有一个唯一的存储目录。该目录是存储动态应用程序资产和用户偏好设置的适当位置。考虑将大量数据存储在其他位置。在Android和iOS上,应用程序存储目录会在卸载应用程序或用户选择清除应用程序数据时被删除,但在其他平台上不会。

  • File.applicationDirectory:应用程序安装的目录(以及任何已安装的资产)。在某些操作系统中,应用程序存储在单个包文件中而不是物理目录中。在这种情况下,可能无法使用本机路径访问内容。应用程序目录为只读。

  • File.desktopDirectory:用户的桌面目录。如果平台没有定义桌面目录,则在文件系统中使用另一个位置。

  • File.documentsDirectory:用户的文档目录。如果平台没有定义文档目录,则在文件系统中使用另一个位置。

  • File.userDirectory:用户目录。如果平台没有定义用户目录,则在文件系统中使用另一个位置。

如果在AIR应用程序描述符中指定了发布者ID,则会将发布者ID附加到应用程序ID。

Android

  • 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

iOS

  • 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 - 不可访问

Linux

  • 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>

Mac

  • 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>

Windows

  • 只读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>

来源


在Windows 10上,File.applicationStorageDirectory是C:\ Users <userName> \ AppData \ Roaming <applicationID> \ Local Store。 - BladePoint

1

从维克多的评论中复制:在OS X的较新版本中,applicationStorageDirectory将位于/Users/USERNAME/Library/Application Support/APPLICATIONNAME

这是2016年MAC OS的正确位置


0
除了TheDarkini1978的回答之外:
File.applicationDirectory是只读的,不要尝试在那里保存文件。resolvePath函数会创建一个文件对象,其名称相对于给定的文件。如果有疑问,请始终查看文档:File

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接