我想加载一些存储在我资产中的JSON文件。
我不知道我应该将它们存储在资产中的哪个位置。我应该将它存储在"资源"文件夹,在" StreamingAssets"文件夹或其他地方?
我不知道我应该使用什么样的路径。我听说你需要为StreamingAssets写path = "jar:file://" + Application.dataPath + "!/assets/";
,但也有Application.streamingAssetsPath
。我也听说你总是需要使用Application.persistantDataPath
。那么我应该使用哪条路径?
我不知道我可以用什么来访问C#中的文件。我听说你可以使用Directory.Exists()和File.Exists()但是如果你使用StreamingAssets你必须使用WWW。是吗?
答案 0 :(得分:1)
您可以在this answer中获得基本想法。
此外,我建议您在“资源”文件夹中放置要与游戏打包的任何内容,您可以使用Resources.Load()访问该文件夹。您可以根据需要迭代这些目录:Resources.Load("folder/file");
。
如果你想写文件,他们必须进入Application.persistentDataPath
,因为这是唯一的可写目录(由Unity指定),即仅用于运行时文件。但是一旦文件存储在那里,它就会在会话之间保持不变。
当然,您可以指定绝对路径并尝试从那里加载资产,但这比必要的风险更大(不同设备上的路径不同)。 您可以完全忽略Application.dataPath,直到您找到它的特定需求(例如:访问不在persistentDataPath中但不在资源中的文件)。
我希望有所帮助!