已解决
[unity]保存文件的路径设置
来自网友在路上 175875提问 提问时间:2023-10-06 16:36:54阅读次数: 75
最佳答案 问答题库758位专家为你答疑解惑
序
比如,序列化了一个数组,保存到磁盘上。
原来的路径是"D://test.bin",能跑,但是有点问题:序列化出来的文件和原项目离的太远,不好管理。
要是能保存到unity工程的文件夹里就好了。这个路径该怎么写?有现成的api吗?
官方文档
Unity - Scripting API: Application.dataPath (unity3d.com)
试一试
using System.Collections;
using System.Collections.Generic;
using UnityEngine;// 序列化和反序列化用到的
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary; public class Save : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){// 00.文件的路径string filePath = Application.dataPath + "/cache"+"/test.bin"; // 建议先在Assets文件夹下手动建一个cache文件夹,不然可能会报错找不到../cache// 01.序列化int[] intArray1 = { 1, 2, 3, 4, 5 }; int[] intArray2 = { 10, 20, 30, 40, 50 }; // 创建一个二进制格式化器 BinaryFormatter formatter = new BinaryFormatter(); // 创建一个文件流 using (FileStream stream = new FileStream(filePath, FileMode.Create)) { // 序列化第一个数组 formatter.Serialize(stream, intArray1); // 序列化第二个数组 formatter.Serialize(stream, intArray2); }// // 02.反序列化// // 创建一个二进制格式化器 // BinaryFormatter formatter = new BinaryFormatter(); // // 创建一个文件流 // using (FileStream stream = new FileStream(filePath, FileMode.Open)) // { // // 反序列化第一个数组 // int[] intArray1 = (int[])formatter.Deserialize(stream); // // 反序列化第二个数组 // int[] intArray2 = (int[])formatter.Deserialize(stream); // // 打印数组内容 // foreach (int i in intArray1) // { // Debug.Log(i); // } // foreach (int i in intArray2) // { // Debug.Log(i); // } // }}// Update is called once per framevoid Update(){}
}
结果
查看全文
99%的人还看了
相似问题
- 【Django-DRF用法】多年积累md笔记,第3篇:Django-DRF的序列化和反序列化详解
- 【Java 进阶篇】JavaScript JSON 语法入门:轻松理解数据的序列化和反序列化
- 【python学习】基础篇-常用模块-pickle模块:序列化和反序列化
- c#Nettonsoft.net库常用的方法json序列化反序列化
- 什么是Java序列化,它有哪些重要性
- 快手直播弹幕websocket protobuf序列化与反序列化
- protobufjs实现protobuf序列化与反序列化
- C#解析XML并反序列化为Model的方法
- 【实战-08】flink 消费kafka自定义序列化
- 【漏洞复现】Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)
猜你感兴趣
版权申明
本文"[unity]保存文件的路径设置":http://eshow365.cn/6-16379-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!