安装时将Resources / StreamingAssets中的文件复制到Application.persistentDataPath

我有txt文件,其中包含我在游戏中的地图数据。 问题是文件存储在Application.persistentDataPath所以我甚至可以从我的android设备(创建的地图创建者)更改它,那么如何在我的PC上创建包含基本地图的txt文件并使其显示在我的android上的persistentDataPath我安装应用程序时的设备?

您可以将文件放在Editor文件夹中的Resources文件夹中,然后使用Resources API读取。

 TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset)); string tileFile = txtAsset.text; 

您可以检查这是否是第一次使用此应用程序运行。 之后,您可以将加载的数据复制到Application.persistentDataPath目录。


已知Resources文件夹会增加加载时间。 我建议你不要使用它,但这是一个值得了解的选择。

将文件放在StreamingAssets文件夹中,然后使用WWWUnityWebRequest API和Application.streamingAssetsPath作为路径读取它,然后将其复制到Application.persistentDataPath

从StreamingAssets加载

 IEnumerator ReadFromStreamingAssets() { string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile"); string result = ""; if (filePath.Contains("://") || filePath.Contains(":///")) { UnityEngine.Networking.UnityWebRequest www = UnityEngine.Networking.UnityWebRequest.Get(filePath); yield return www.SendWebRequest(); result = www.downloadHandler.text; } else result = System.IO.File.ReadAllText(filePath); } 

然后将其保存到persistentDataPath:

 File.WriteAllText(Application.persistentDataPath + "data/MyFile.txt", result); 

您可以将此文件存储在Resources文件夹中,并在第一次启动Application.persistentDataPath时将其复制到Application.persistentDataPath 。 或者在首次启动时从Resources读取文件,并在Application.persistentDataPath创建具有相同内容的文件。