Unity获取文件夹下指定类型的文件数量

时间:2022-05-08 09:54:51

有个文件夹里面有很多的图片,都是.png格式的,要是一个一个的拖到脚本上觉得很麻烦,就写了一个遍历添加的cars,变量是List<Sprite>

代码如下:

using UnityEngine;
using System.IO;
using System.Collections.Generic;

public class NewBehaviourScript : MonoBehaviour
{
    private List<Texture> cars = new List<Texture>();

    void Start()
    {
        getCarImage();
    }

    public void getCarImage()
    {
        string path = Application.dataPath + "/Resources/Car/";
        if (Directory.Exists(path))
        {
            //获取文件信息
            DirectoryInfo direction = new DirectoryInfo(path);

            FileInfo[] files = direction.GetFiles("*", SearchOption.AllDirectories);

            print(files.Length);

            for (int i = 0; i < files.Length; i++)
            {
                //过滤掉临时文件
                if (files[i].Name.EndsWith(".meta"))
                {
                    continue;
                }
                print(files[i].Extension); //这个是扩展名
                //获取不带扩展名的文件名
                string name = Path.GetFileNameWithoutExtension(files[i].ToString());
                print(name);
                // FileInfo.Name是返回带扩展名的名字 
                cars.Add((Texture)Resources.Load("Car/" + name, typeof(Sprite)));
            }
        }
    }


}