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

news2024/11/16 13:30:36

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

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


结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1063616.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c#设计模式-行为型模式 之 责任链模式

🚀简介 又名职责链模式,为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对 象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为…

学员自述:上位机编程培训经历

、大家好,我是华山编程培训中心的学员 之前是从事PLC编程工作的,在C#语言这一块是零基础,之前也尝试过自学,但对于类啊继承啊堆栈这些基本的概念始终是无法理解,直到看到华山培训的视频,并参与朱老师的直播…

番外--命令操作

------------- task00: 00:常用文件目录类命令1-18.(pwd; cd;ls; more;less;head;tail; mkdir;rmdir;cp;mv;rm&#xff1b…

pandas 笔记:asfreq

1 方法介绍 asfreq 是一个在 Pandas 时间序列数据分析中常用的方法。这个方法主要用于改变时间序列的频率。asfreq 可以帮助我们将一个时间序列从一个频率转换为另一个频率 2 基本用法 DataFrame.asfreq(freq, methodNone, howNone, normalizeFalse, fill_valueNone)3 参数说…

实验室超声波(提取)萃取技术有哪些实际的应用?

梵英超声(fanyingsonic)实验室超声波清洗机 超声波具有“空化现象”,“机械振动”以及“热效应”等特性。“空化现象”可产生瞬间几千个压力,使提取介质的微小气泡压缩、爆裂、破碎被提取原料和细胞壁,加速天然药用成分的溶出,“机…

微服务技术栈-Docker应用部署

文章目录 前言一、数据卷二、Docker 应用部署1、MySQL部署2、Tomcat部署3、Nginx部署4、Redis部署5、Kafka部署 总结 前言 之前文章讲到过,docker运行程序的过程就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器,接下来我们将…

虫情测报灯——一种农业虫情防治工具

KH-CQPest虫情测报灯是一种农业虫情防治工具,它可以通过光源或药物诱虫的方式,吸引害虫撞击撞击屏,通过远红外自动处理技术,无公害杀死害虫的同时保存害虫标本,利用高像素的摄像头拍照、农业四情测报平台识别害虫&…

简单两步实现离线部署ChatGPT,ChatGPT平替版,无需GPU离线搭建ChatGPT

文末附主程序安装包和大模型参数文件~ 演示效果如下图所示: 一、使用方法 软件主要分为两个部分:GPT4ALL软件主体(主程序)模型参数(离线模型),如果使用API Key的话则不需要下载模型参数。 可以…

家居家纺经营配送小程序商城的作用是什么

家居家纺产品是每个家庭都必备的,无论商场还是小摊贩,市场中经营商家数量都比较多,而随着互联网电商发展,在实际经营中,传统线下商家也面临多个难题: 首先就是获客问题,线下渠道推广宣传方式单…

深刻解析数据库技术的要点以及应对策略 (软件设计师笔记)

😀前言 在信息化的时代背景下,数据已经成为了推动各行各业发展的核心要素之一。数据的储存、管理、维护、和获取变得尤为关键,确保信息的高效流通和决策的科学性。数据库技术,正是在这一背景下发挥着举足轻重的作用,它…

源码上分析Vue2和Vue3的响应式原理

本文节选自我的博客:源码上分析Vue2和Vue3的响应式原理 💖 作者简介:大家好,我是MilesChen,偏前端的全栈开发者。📝 CSDN主页:爱吃糖的猫🔥📣 我的博客:爱吃糖…

基于帝国主义竞争优化的BP神经网络(分类应用) - 附代码

基于帝国主义竞争优化的BP神经网络(分类应用) - 附代码 文章目录 基于帝国主义竞争优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.帝国主义竞争优化BP神经网络3.1 BP神经网络参数设置3.2 帝国主义竞争算…

【BI看板】Superset2.0+图表二次开发初探

Superset图表功能也很丰富了,但一些个性化的定制需求就需要二次开发了。网上二开的superset版本大多是0.xxx版本的或1.5xxx版本,本次用的是2.xxx。 源码相关说明 源码目录 superset-2.0\superset-frontend\plugins\plugin-chart-echarts 插件相关资料 官…

图片批量编辑器,轻松拼接多张图片,创意无限!

你是否曾经遇到这样的问题:需要将多张图片拼接成一张完整的画面,却缺乏专业的图片编辑技能?现在,我们为你带来一款强大的图片批量编辑器——让你轻松实现多张图片拼接,创意无限! 这款图片批量编辑器可以帮助…

IP地址划分知识点总结

目录 1.IP数据报头 2.IP地址 3.IP地址分类 4.特殊IP地址 1.IP数据报头 网络之间的互连协议(Internet Protocol,IP)是方便计算机网络系统之间相互通信的协议,是各大厂家遵循的计算机网络相互通信的规则。 IP数据报报头如下图所示: (1)版…

计算机竞赛 题目:基于python的验证码识别 - 机器视觉 验证码识别

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于pyt…

蓝桥杯---第二讲---二分与前缀和

文章目录 前言Ⅰ. 数的范围0x00 算法思路0x00 代码书写 Ⅱ. 数的三次方根0x00 算法思路0x01代码书写 Ⅲ. 前缀和0x00 算法思路0x01 代码书写 Ⅳ. 子矩阵的和0x00 算法思路0x01 代码书写 Ⅴ. 机器人跳跃问题0x00 算法思路0x01 代码书写 Ⅵ. 四平方和0x00 算法思路0x01 代码书写 …

10.3 C++运算符重载实现的过程,代码

目录 运算符重载背景(operator) 定义 重载的方法 不能重载的运算符 运算符重载注意事项 代码实现 运行结果 运算符重载背景(operator) 自定义的类中,系统默认只提供两个运算符供用户使用,分别是赋值…

1.3.OpenCV技能树--第一单元--图像的基础操作(进阶篇)

目录 1.文章内容来源 2.图像的进阶操作 2.1.边界填充 2.2.数值计算 2.3.图像融合 2.4.图像保存 2.5.视频读取 3.课后习题代码复现 3.1.问题一图像像素颜色 3.2.问题二图片黑客帝国化 3.3.问题三梅西的足球轨迹 4.易错点总结与反思 1.文章内容来源 1.题目来源:https://edu.c…

netcore MediatR

一、安装包 <PackageReference Include"MediatR" Version"12.1.1" /> 二、编写示例 using MediatR;namespace WebApplication7 {public class TestCommand : IRequest<bool>{}public class TestCommandHandler : IRequestHandler<TestCo…