Unity C# 文件夾的創建,與文件的保存創建和讀取

Unity C# 文件夾的創建,與文件的保存創建和讀取

代碼

using System;
using System.Collections;
using System.IO;
using UnityEditor;
using UnityEngine;

public class CreateFiles
{
    /// <summary>
    /// 創建文件夾
    /// </summary>
    [MenuItem("Tools/CreateFolder")]//需要引入命名空間using UnityEditor(Unity有關)
    public static void CreateFolder()
    {
        string path = Application.dataPath + "/";//需要引入命名空間 using UnityEngine(Unity有關)
        Directory.CreateDirectory(path + "Assets");//需要引入命名空間 using System.Io
        Directory.CreateDirectory(path + "Plugins");
        Directory.CreateDirectory(path + "Resources");
        Directory.CreateDirectory(path + "Scenes");
        Directory.CreateDirectory(path + "Scripts");
        Directory.CreateDirectory(path + "StreamingAssets");
        Directory.CreateDirectory(path + "Editor");
    }

    /// <summary>
    /// 文件的創建,寫入
    /// </summary>
    /// <param name="path">文件路徑</param>
    /// <param name="name">文件名</param>
    /// <param name="info">信息</param>
    public static void Createfile(string path, string name, string info)
    {
        StreamWriter sw;//流信息
        FileInfo t = new FileInfo(path + "//" + name);
        if (!t.Exists)
        {//判斷文件是否存在
            sw = t.CreateText();//不存在,創建
        }
        else
        {
            sw = t.AppendText();//存在,則打開
        }
        sw.WriteLine(info);//以行的形式寫入信息
        sw.Close();//關閉流
        sw.Dispose();//銷燬流
    }

    /// <summary>
    /// 文件的讀取
    /// </summary>
    /// <param name="path">文件路徑</param>
    /// <param name="name">文件名</param>
    /// <returns>文件數據</returns>
    public static ArrayList LoadFile(string path, string name)
    {
        StreamReader sr = null;//文件流
        try
        {//通過路徑和文件名讀取文件
            sr = File.OpenText(path + "//" + name);
        }
        catch (Exception ex)//需要引入命名空間 using System
        {
            Debug.LogError(ex.Message);
            return null;
        }
        string line;
        ArrayList arrlist = new ArrayList();//需要引入命名空間 using System.Collections
        while ((line = sr.ReadLine()) != null)
        {//讀取每一行加入到ArrayList中
            arrlist.Add(line);
        }
        sr.Close();
        sr.Dispose();
        return arrlist;
    }
}

解釋

  1. 第一個函數是用於動態創建文件夾。代碼中的創建的例子文件夾,是Unity中常會用到的(Assets,Resources,Plugins,Editor,StreamigAssets,Scene,Scripts,Sprite等),手動創建太過繁瑣,使用這個代碼動態創建會更加的方便。
  2. 第二個函數用於創建保存文件數據到對應路徑中的文件上。
  3. 第三個函數用於讀取對應路徑中的文件中的數據。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章