unity读取指定路径下的文件夹中的内容

代码

 /param  
    ///path:文件夹路径  
    ///suffix:后缀格式, 如bmp,txt  
    ///fileList:文件名存放  
    ///isSubcatalog:true遍历子文件夹,否则不遍历  
    public void getFiles(string path, string suffix, ref List<string> fileList, bool isSubcatalog)
    {
        string filename;
        DirectoryInfo dir = new DirectoryInfo(path);
        FileInfo[] file = dir.GetFiles();
        DirectoryInfo[] dii = dir.GetDirectories();//如需遍历子文件夹时需要使用  
        foreach (FileInfo f in file)
        {
            filename = f.FullName;//拿到了文件的完整路径
            if (filename.EndsWith(suffix))//判断文件后缀,并获取指定格式的文件全路径增添至fileList  
            {
                fileList.Add(filename);
                print(filename);                   
            }
        }
        //获取子文件夹内的文件列表,递归遍历
        if (isSubcatalog)
        {
            foreach (DirectoryInfo d in dii)
            {
                getFiles(d.FullName,"", ref fileList,false);
            }
        }

        return;
    }

这样就能拿到任何文件了

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Unity,可以使用C#的System.IO命名空间下的类来进行文件读写操作。读取安卓本地设备文件夹时,需要使用安卓系统提供的Java接口(AndroidJavaObject、AndroidJavaClass等)来获取本地设备的文件路径。 以下是一个简单的例子,演示如何在Unity读取安卓本地设备文件夹: ```c# using System.IO; using UnityEngine; public class ReadFile : MonoBehaviour { void Start() { // 获取安卓本地设备文件夹路径 AndroidJavaClass environment = new AndroidJavaClass("android.os.Environment"); AndroidJavaObject directory = environment.CallStatic<AndroidJavaObject>("getExternalStorageDirectory"); string path = directory.Call<string>("getAbsolutePath") + "/myfile.txt"; if (File.Exists(path)) { string contents = File.ReadAllText(path); // 读取文件内容 Debug.Log(contents); // 输出文件内容 } else { Debug.Log("File not found"); } } } ``` 在上面的示例,我们首先使用安卓系统提供的Java接口获取本地设备的文件夹路径,然后使用File类的Exists方法检查文件是否存在。如果文件存在,我们使用File类的ReadAllText方法读取文件内容,并使用Debug.Log方法将其输出到控制台。如果文件不存在,则输出“File not found”。 如果要进行文件写入操作,可以使用File类的WriteAllText方法。以下是一个简单的例子,演示如何在Unity写入安卓本地设备文件夹: ```c# using System.IO; using UnityEngine; public class WriteFile : MonoBehaviour { void Start() { // 获取安卓本地设备文件夹路径 AndroidJavaClass environment = new AndroidJavaClass("android.os.Environment"); AndroidJavaObject directory = environment.CallStatic<AndroidJavaObject>("getExternalStorageDirectory"); string path = directory.Call<string>("getAbsolutePath") + "/myfile.txt"; string contents = "Hello, world!"; // 文件内容 File.WriteAllText(path, contents); // 写入文件内容 } } ``` 在上面的示例,我们首先使用安卓系统提供的Java接口获取本地设备的文件夹路径,然后使用File类的WriteAllText方法将文件内容写入到指定的文件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值