【Untiy 3D】C#中文件夹与读写文件操作详解(附测试代码 超详细)

简介: 【Untiy 3D】C#中文件夹与读写文件操作详解(附测试代码 超详细)

一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合,当打开文件进行读写时,它变成一个流

从根本上来说,流是通过通信路径传递的字节序列,有两个主要的流,输入流和输出流,输入流用于从文件读取数据,输出流用于向文件写入数据

一、I/O类

1:Directory类

对文件夹的操作主要通过Directory类和DirectoryInfo类进行,这两个类中都包含了一组用来创建、移动、删除和枚举所有目录或者子目录的成员的方法 常用方法如下

DirectoryInfo类与Directory类区别在于前者是普通类,需要先实例化才能使用,后者是静态类可以直接使用

CreateDirectory  在指定路径中创建所有目录和子目录

Delete 从指定路径中删除空目录

Exists 判断指定目录中是否存在现有目录

2:File类

对文件的创建 删除 移动 打开操作主要使用File类和FileInfo类

Create 在指定路径中创建或覆盖文件

Delete 删除指定的文件

Exists 确定指定的文件是否存在

Move 将指定的文件移动新位置

Open 打开指定路径的文件 指定读或写模式

3:Stream类

Stream类用于从文件中读取二进制数据,或使用流读写文件 常用方法如下

Read 从基础流中读取字符 并把流的当前位置往前移

Close 关闭当前Stream对象和基础流

Write 把数据写入基础流中

Flush 清理当前所有缓冲区 使所有缓冲数据写入基础设备

Seek 设置当前流内的位置

二、读/写文件

比较常用的方法就是使用File类打开文件,读取数据,将数据保存在FileStream文件流对象中,FileStream类继承于Stream类 然后通过FileStream文件流对象写入数据

using System.IO;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_11_1 : MonoBehaviour
{
    void Start()
    {
        //首先判断是否存在文件夹
        if (Directory.Exists(@"C:\Temp"))
        {
            //存在文件夹
            //删除当前文件夹
            Directory.Delete(@"C:\Temp", true);
            //然后创建文件夹
            Directory.CreateDirectory(@"C:\Temp");
        }
        else
        {
            //不存在文件夹
            Directory.CreateDirectory(@"C:\Temp");
        }
    }
}

向文件中写入数据

using System.IO;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_11_2 : MonoBehaviour
{
    void Start()
    {
        string path = @"C:\Temp\MyTest.txt";
        //首先判断是否存在文件
        if (!File.Exists(path))
        {
            //创建文件
            using (FileStream fs=File.Create(path))
            {
                byte[] info = new UTF8Encoding(true).GetBytes("new text");
                //添加数据到文件中
                fs.Write(info, 0, info.Length);
            }
        }
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);
            while (fs.Read(b, 0, b.Length) > 0)
            {
                Debug.Log(temp.GetString(b));
            }
        }
    }
}

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
1月前
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
40 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
1月前
|
缓存 C# Windows
C#程序如何编译成Native代码
【10月更文挑战第15天】在C#中,可以通过.NET Native和第三方工具(如Ngen.exe)将程序编译成Native代码,以提升性能和启动速度。.NET Native适用于UWP应用,而Ngen.exe则通过预编译托管程序集为本地机器代码来加速启动。不过,这些方法也可能增加编译时间和部署复杂度。
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
23天前
|
测试技术 C# 数据库
C# 单元测试框架 NUnit 一分钟浅谈
【10月更文挑战第17天】单元测试是软件开发中重要的质量保证手段,NUnit 是一个广泛使用的 .NET 单元测试框架。本文从基础到进阶介绍了 NUnit 的使用方法,包括安装、基本用法、参数化测试、异步测试等,并探讨了常见问题和易错点,旨在帮助开发者有效利用单元测试提高代码质量和开发效率。
132 64
|
19天前
|
缓存 监控 数据挖掘
C# 一分钟浅谈:性能测试与压力测试
【10月更文挑战第20天】本文介绍了性能测试和压力测试的基础概念、目的、方法及常见问题与解决策略。性能测试关注系统在正常条件下的响应时间和资源利用率,而压力测试则在超出正常条件的情况下测试系统的极限和潜在瓶颈。文章通过具体的C#代码示例,详细探讨了忽视预热阶段、不合理测试数据和缺乏详细监控等常见问题及其解决方案,并提供了如何避免这些问题的建议。
43 7
|
21天前
|
Kubernetes 测试技术 持续交付
C# 一分钟浅谈:集成测试与系统测试
【10月更文挑战第19天】本文详细介绍了集成测试和系统测试的概念、目的及其在软件开发中的重要性。通过分析常见问题和易错点,结合代码示例,探讨了如何通过代码规范、自动化测试和持续集成等方法提高测试效果,确保软件质量和可靠性。
45 1
|
22天前
|
测试技术 C# 数据库
C# 一分钟浅谈:测试驱动开发 (TDD) 实践
【10月更文挑战第18天】测试驱动开发(TDD)是一种软件开发方法论,强调先编写测试代码再编写功能代码,以确保代码质量和可维护性。本文从 TDD 的基本概念入手,详细介绍了其核心步骤——编写测试、运行测试并失败、编写代码使测试通过,以及“红绿重构”循环。文章还探讨了 TDD 的优势,包括提高代码质量、促进设计思考、减少调试时间和文档化。此外,文中分析了常见问题及解决方案,如测试覆盖率不足、测试代码过于复杂、忽视重构和测试依赖过多,并通过一个简单的计算器类的代码案例,展示了 TDD 的实际应用过程。
32 1
|
1月前
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
132 9
|
1月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
76 2

热门文章

最新文章