2017-08-30 14 views
0

私はtxtファイルを持っています。問題は、ファイルがApplication.persistentDataPathに保存されていることです。私はアンドロイドデバイス(マップ作成者を作成したもの)からでも変更できるので、自分のPCに作成したtxtファイルを基本マップに含めるにはどうすればいいですか?私はアプリケーションをインストールしますか?インストール時にResources/StreamingAssetsからApplication.persistentDataPathにファイルを移動します。

答えて

3

ファイルをEditorフォルダのResourcesフォルダに配置してから、Resources APIを使用して読み込むことができます。

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

thisで初めてアプリが実行されているかどうかを確認できます。その後、ロードされたデータをApplication.persistentDataPathディレクトリにコピーすることができます。


[リソース]フォルダは読み込み時間が長くなることがわかっています。私はあなたにを提案しないでくださいを使用してくださいが、それは知る価値があるオプションです。

その後、Application.persistentDataPathにコピーし、パスとしてWWWまたはUnityWebRequest APIとApplication.streamingAssetsPathでそれを読んStreamingAssetsフォルダ内のファイルを置きます。 StreamingAssetsから

ロード:

IEnumerator ReadFromStreamingAssets() 
{ 
    string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile"); 
    string result = ""; 
    if (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); 
+0

リソースにファイルを保存するには、あなたがそれを変更することはできません。実際それは読んでいるだけです。 – vmchar

+0

私はそれを変更できるとは言いませんでした。 OPは、ファイルをエディタから取り出し、実行時にアクセスする方法を知りたいと考えています。 – Programmer

2

このファイルをResourcesフォルダに保存して、最初のアプリの起動時にApplication.persistentDataPathにコピーできます。または、最初の起動時にResourcesからファイルを読み込み、Application.persistentDataPathに同じ内容のファイルを作成します。

関連する問題