UNITY3D中的文件存储管理

使用Path对象判断路径的完整性和正确性

using System;
using System.IO;

class Test
{

    public static void Main()
    {
        string path1 = @"c:\temp\MyTest.txt";
        string path2 = @"c:\temp\MyTest";
        string path3 = @"temp";

        if (Path.HasExtension(path1))
        {
            Console.WriteLine("{0} has an extension.", path1);
        }

        if (!Path.HasExtension(path2))
        {
            Console.WriteLine("{0} has no extension.", path2);
        }

        if (!Path.IsPathRooted(path3))
        {
            Console.WriteLine("The string {0} contains no root information.", path3);
        }

        Console.WriteLine("The full path of {0} is {1}.", path3, Path.GetFullPath(path3));
        Console.WriteLine("{0} is the location for temporary files.", Path.GetTempPath());
        Console.WriteLine("{0} is a file available for use.", Path.GetTempFileName());

        /* This code produces output similar to the following:
         * c:\temp\MyTest.txt has an extension.
         * c:\temp\MyTest has no extension.
         * The string temp contains no root information.
         * The full path of temp is D:\Documents and Settings\cliffc\My Documents\Visual Studio 2005\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\temp.
         * D:\Documents and Settings\cliffc\Local Settings\Temp\8\ is the location for temporary files.
         * D:\Documents and Settings\cliffc\Local Settings\Temp\8\tmp3D.tmp is a file available for use.
         */
    }
}

使用FileInfo创建文件

using System;
using System.IO;

class Test
{

    public static void Main()
    {
        //通过Path对象获取缓存路径
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        //创建文件,并且通过返回的"文件流写入对象"写入数据
        using (StreamWriter sw = fi1.CreateText())
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        //打开文件,并且通过返回的"文件流读取对象"读取数据
        using (StreamReader sr = fi1.OpenText())
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }

        try
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //删除文件
            fi2.Delete();

            //将f1文件拷贝到f2文件
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //删除文件
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

  

时间: 2024-07-29 18:28:45

UNITY3D中的文件存储管理的相关文章

Unity3d发布apk文件并在Android虚拟机中运行的操作流程

总的流程分为以下6个步骤: 1.安装java_jdk 2.配置java环境变量 3.更新android的sdk 4.从Unity3d中发布出apk文件 5.创建android虚拟机并运行 6.将apk文件安装到android虚拟机中 (为方便新手,在下面对每个步骤的具体操作及可能遇到的问题详细提一下) 1.安装java_jdk 官网(www.java.com),免费,我安装的文件的名字是jdk-7u10-windows-i586.exe,版本有新旧,你下载到的版本号可能与我不同,不碍事: 2.配

[笨木头Unity3D]杂记003·Unity在Android中读取文件

这周被一个问题给折腾了几个晚上,那就是在Android中读取文件,这本是一件很简单的事情,可想象总是美好的. 笨木头花心贡献,啥?花心?不,是用心. 转载请注明,原文地址:http://www.benmutou.com/archives/2094 文章来源:笨木头与游戏开发 1.在电脑上读取文件 首先要解决的当然是在电脑上读取文件了,这个并不难,网上一堆资料. 比如: public static string LoadFile(string filePath) { string url = Ap

Windows系统Unity3D中的快捷键

[狗刨学习网] Windows系统Unity3D中的快捷键[td] 组合键 键 功能 File 文件 Ctrl   N New Scene 新建场景 Ctrl   O Open Scene 打开场景 Ctrl   S Save Scene 保存 Ctrl Shift S Save Scene as 保存场景为 Ctrl Shift B Build Settings... 编译设置... Ctrl   B Build and run 编译并运行 Edit 编辑 Ctrl   Z Undo 撤消 C

(转)Unity3d中的碰撞检测

很多时候,当我们的主角与其他GameObject发生碰撞时, 我们需要做一些特殊的事情,比如:子弹击中敌人,敌人就得执行一系列的动作.这时,我们就需要检测到碰撞现象,即碰撞检测.这一篇,我来具体谈谈自己所了解的碰撞检测,希望高手不佞赐教. 首先,我们得明确一点:即产生碰撞信息所需要的条件.事实上,在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器.这两种方式的应用非常广泛.为了完整的了解这两种方式,我们必须理解以下概念:    (一)碰撞器是一群组件,它包含了

在Unity3d中解析Lua脚本的方法

由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过.对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此.水平有限,欢迎批评指正. 网络上关于Lua脚本和Unity3d的配合使用的资料不多,例子工程大多相同.大概了解到针对性的插件有uLua.UniLua.KopiLua三种.试用了前两种,抛开效率与安全性不说,感觉uLua试用起来比较简单,本文只介绍uLua的使用步骤. uLua的原理是在Unity3d中解析字符串形式的Lua脚本,让Lua与C#相互传递参

Unity3D中使用KiiCloud总结一

Kii Cloud简介 Kii Cloud提供一系列的服务,来帮助你为你的App获取用户,留住用户,以及创造利润.它为移动App提供了用户管理以及快捷安全可扩展的数据存储服务. 现在你可以在短短几分钟内为你的App添加一个后端服务.Kii Cloud通过为你提供一个可扩展的后端服务,来帮助你节省大量的时间和金钱.因为不需要写一行服务端的代码,你不必去招聘(或者变成)一个服务端工程师或者DBA.我们会保证提供安全,可靠以及可扩展的服务,这样你只需要专注于优化你的App,改善用户体验以及在App S

ShareREC在Unity3D中无法录制视频的解决方法

最近有一些同学问到ShareREC集成到Unity3D中提示:#warning:无法录制当前应用! 这是由于Unity3D在4.6.3之后加入了对Metal框架的支持,导致ShareREC无法进行录制(目前ShareREC不支持录制Metal框架). 解决的办法就是把Metal给禁用掉,操作方法如下: 1.先从Unity3D中导出XCode工程 2.定位到UnityAppController+Rendering.mm文件,找到IsMetalSupported方法,把里面的内容注释掉,只保留ret

unity3d中dllimport方法的使用,以接入腾讯平台为例!!!

说到有关dllimport方法可能还有很多人比较陌生,其实我自己也说不太清楚,大概说说什么时候要用它. 事实上功能类似于调用android的第三包,我们想要使用苹果上特定的api或者第三方平台的一些东西(现在很少第三方平台会为unity做独立的插件吧),我们就会用到这个叫dllimport的功能. 今天接了一下腾讯的平台,就拿它来做一个记录好了,免得我到时候又忘记了. ios用的是obj-c,说实话对这个语言一窍不通还,大概看了一下,把握了一下demo里面的使用方法,所以有一些SB的地方也请原谅

unity3d中动态增加、建立场景

在Unity3d中,场景(scene)多半通过在build settings中点击add current或者把场景拖进面板实现,假如不这么做,你的场景便不会被加载,哪怕你制定了绝对路径. 就是说,一个游戏里要加载多少场景多半都是固定的.[狗刨学习网] 这样的方法会有很多不便,不容易动态加载场景.所以我们今天要说的,是一种动态加载场景的方法. 首先,你需要一个编辑器文件,放在editor文件夹下.注意,这个文件不可以继承自monobehaviour public class BuildSceneE