打包封裝EXE文件後,運行EXE文件後,是可以正常的存儲數據,讀取數據。
第一次打開EXE文件
再次打開EXE文件
接着相關資料3的代碼JSONDemon.cs的DataJSONFile()函數的代碼
/// <summary>
/// 判斷 保存的JSON 格式的空文本文件 是否存在,如果存在 就 複製粘貼 爲新的存檔文件。
/// </summary>
private void DataJSONFile(string path)// [Unity][File][JSON]file.copy的使用方法代碼動態創建.json文件
{
if (File.Exists(Application.streamingAssetsPath + "/empty.json") == true
&& File.Exists(path) == false)//Application.dataPath + path_json
{
File.Copy(Application.streamingAssetsPath + "/empty.json", path);
//Directory.CreateDirectory(path);
}
}//DataJSONFile()
File.Copy(Application.streamingAssetsPath + "/empty.json", path);
或者
Directory.CreateDirectory(path);
都是可以新建JSON文件,以及其他的文本文件。
而Directory.CreateDirectory(path);可以直接創建.json格式的文件。
在編輯器,代碼中進行的使用
string path_saveData = Application.streamingAssetsPath + "/Test_Scene/SaveData_1.json";
//Application.dataPath更換爲Application.streamingAssetsPath
DataJSONFile(path_saveData);
存檔的存儲路徑問題:
Application.dataPath更換爲Application.streamingAssetsPath
DirectoryNotFoundException: Could not find a part of the path "E:\Unity\UnityProjects\New Unity Project\Assets\StreamingAssets\Resources\SaveData.json".
UnauthorizedAccessException: Access to the path 'E:/Unity/UnityProjects/New Unity Project/Assets/StreamingAssets/Resources/SaveData.json' is denied.
Directory.CreateDirectory(path);
出現問題,沒有創建.json的文本文件,而是創建了一個名字爲SaveData.json的文件夾
empty.json文本文件必須在E:/Unity/UnityProjects/New Unity Project/Assets/StreamingAssets/Resources/
的文件路徑下保存,打開文件路徑,鼠標右鍵,新建一個文本文件,修改名稱以及文件後綴爲emty.json即可。
注意empty.json文件的存儲路徑,是否和 代碼中的 路徑一致。不一致會出現錯誤。
錯誤FileNotFoundException: Could not find file
當項目打包成EXE後path_saveData的字符串文本爲
F:\UnityProject\MyProject\TestEXE\TEST_JSON\Nightmares_Data\StreamingAssets\Test_Scene
F:
爲F盤
\UnityProject\MyProject\TestEXE\TEST_JSON\
爲打包成EXE文件的目標存儲位置
Nightmares_Data\StreamingAssets\Test_Scene
Nightmares是打包項目的項目名稱,在Unity編輯器-Files-Building Settings-Player Settings-Product Name進行設置即可。
StreamingAssets\Test_Scened
對應的是在Unity編輯器Assets文件夾下面創建的文件夾。
封裝打包EXE文件沒有反應,可能是因爲
Files-Build Setting-Secenes In Build沒有添加當前的場景。
點擊Add Open Secens即可。
打包封裝EXE文件後,運行EXE文件後,是可以正常的存儲數據,讀取數據。
第一次打開EXE文件
再次打開EXE文件
打包封裝EXE文件
SaveData.json存儲內容如圖所示
E:\Unity\UnityProjects\TestEXE\Project001\New Unity Project_Data\StreamingAssets\Resources
{"Items":[{"m_FileID":894,"m_PathID":0},{"m_FileID":890,"m_PathID":0},{"m_FileID":892,"m_PathID":0}]}
而在UNITY編輯器中
SaveData.json存儲內容如圖所示
E:\Unity\UnityProjects\New Unity Project\Assets\StreamingAssets\Resources
{"Items":[{"instanceID":18650},{"instanceID":18626},{"instanceID":18630}]}
相關資料:
1.
[Unity][File][JSON]file.copy的使用方法代碼動態創建.json文件
2.
[Unity][存檔][JSONUnity]存檔數據應該存放在哪個文件夾內
3.
[Unity][存檔][JSONUnity]存儲讀取方塊數據
4.
[Unity][EXE][File]判斷.exe程序是否存在並創建新文件夾
5.
6.