[unity]保存文件的路径设置

比如,序列化了一个数组,保存到磁盘上。

原来的路径是"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 update
    void 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 frame
    void Update()
    {
        
    }
}


结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值