1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.IO;
  1. <pre class="csharp" name="code"> public static List<string> nameArray = new List<string>();
  1.  
  1. /// <summary>
  2. /// 依据指定的 Assets下的文件路径 返回这个路径下的全部文件名称//
  3. /// </summary>
  4. /// <returns>文件名称数组</returns>
  5. /// <param name="path">Assets下“一"级路径</param>
  6. /// <param name="pattern">筛选文件后缀名的条件.</param>
  7. /// <typeparam name="T">函数模板的类型名t</typeparam>
  8. void GetObjectNameToArray<T>(string path, string pattern)
  9. {
  10. string objPath = Application.dataPath + "/" + path;
  11. string[] directoryEntries;
  12. try
  13. {
  14. //返回指定的文件夹中文件和子文件夹的名称的数组或空数组
  15. directoryEntries = System.IO.Directory.GetFileSystemEntries(objPath);
  16.  
  17. for(int i = 0; i < directoryEntries.Length ; i ++){
  18. string p = directoryEntries[i];
  19. //得到要求文件夹下的文件或者文件夹(一级的)//
  20. string[] tempPaths = StringExtention.SplitWithString(p,"/Assets/"+path+"\\");
  21.  
  22. //tempPaths 切割后的不可能为空,仅仅要directoryEntries不为空//
  23. if(tempPaths[1].EndsWith(".meta"))
  24. continue;
  25. string[] pathSplit = StringExtention.SplitWithString(tempPaths[1],".");
  26. //文件
  27. if(pathSplit.Length > 1)
  28. {
  29. nameArray.Add(pathSplit[0]);
  30. }
  31. //遍历子文件夹下 递归吧!
  32.  
  33. else
  34. {
  35. GetObjectNameToArray<T> (path+"/"+pathSplit[0], "pattern");
  36. continue;
  37. }
  38. }
  39. }
  40. catch (System.IO.DirectoryNotFoundException)
  41. {
  42. Debug.Log("The path encapsulated in the " + objPath + "Directory object does not exist.");
  43. }
  44. }
  1.  
  1. void Start () {
  2. //TextAsset[] texts = LoadAsset<TextAsset> ("/CreateScriptDialog/Editor", "cs");
  3. //GetObjectNameToArray<string> ("uSequencer/Example Scenes", "xxx"); //能够实现嵌套遍历
  4. GetObjectNameToArray<string> ("uSequencer", "xxx"); //能够实现嵌套遍历
  5. foreach (string str in nameArray) {
  6. Debug.Log(str);
  7. }
  8. }
  1.  
  1. <pre class="csharp" name="code">/// <summary>
  2. /// 自己定义的字符串切割的方法
  3. /// </summary>
  4. public class StringExtention {
  5.  
  6. public static string[] SplitWithString(string sourceString, string splitString){
  7. string tempSourceString = sourceString;
  8. List<string> arrayList = new List<string>();
  9. string s = string.Empty;
  10. while (sourceString.IndexOf(splitString) > -1) //切割
  11. {
  12. s = sourceString.Substring(0, sourceString.IndexOf(splitString));
  13. sourceString = sourceString.Substring(sourceString.IndexOf(splitString) + splitString.Length);
  14. arrayList.Add(s);
  15. }
  16. arrayList.Add(sourceString);
  17. return arrayList.ToArray();
  18. }
  19. }
  1.  

unity3d 依据指定的Assets下的目录路径 返回这个路径下的全部文件名称的更多相关文章

  1. nginx 同一域名下分目录配置显示php,html,资源文件

    安装上nginx后 注意后nginx.conf 中的这么几行 error_log /var/log/nginx/error.log;  日志,这个很有用 include /etc/nginx/conf ...

  2. [记录]Ubuntu下,使用Shell,简单替换有规律的文件名称

    因工作中需要将Flash转为Html5,并且要有动画效果,我将Flash的组件导出Png序列,然后将Png序列拼接成一张雪碧图(Sprite),名字为在生成雪碧图可以排序,需要改成数字名称. 而名字是 ...

  3. TDirectory.GetDirectories 获取指定目录下的目录

    使用函数: System.IOUtils.TDirectory.GetDirectories 所有重载: class function GetDirectories(const Path: strin ...

  4. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作

    最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...

  5. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  6. 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录

    package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  7. IO流-递归遍历目录下指定后缀名结尾的文件名称

    /* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...

  8. 【Lua】关于遍历指定路径下所有目录及文件

    关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库. 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lf ...

  9. C#中获取指定目录下所有目录的名称、全路径和创建日期

    场景 指定一个路径,根据这个父级路径获取此目录下所有目录的名称.全路径.创建日期等信息. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众 ...

随机推荐

  1. BI事实上的和维表定义

    一个典型的例子是,逻辑业务相比立方体,产品尺寸.时间维度.位置尺寸,分别作为不同的轴.轴的交点是一个详细的事实.这一事实表是多维度的交叉点的一个表.维表是事实的分析的一种形式. 首先介绍下数据库结构中 ...

  2. 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释

    环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载.请注明来 ...

  3. C该程序生成一个唯一的序列号

    在实际的软件开发项目,通常,它包括产生一唯一的序列号.在本文中,一个切实可行的方案,例如,它引入了一个唯一的序列号生成过程. 本文生成的序列号的样式为:MMDDHHMINSS_XXXXXX. 程序例如 ...

  4. 数据结构:Binary and other trees(数据结构,算法及应用(C++叙事描述语言)文章8章)

    8.1 Trees -->root,children, parent, siblings, leaf; level, degree of element 的基本概念 8.2 Binary Tre ...

  5. SQL集合运算 差集 并集 交

    SQL-3标准中提供了三种对检索结果进行集合运算的命令:并集UNION:交集INTERSECT:差集EXCEPT(在Oracle中叫做 MINUS).在有些数据库中对此的支持不够充分,如MySql中只 ...

  6. nodeValue的兼容问题

    nodeValue获取Text或Comment元素的文本值. 在IE6.IE7.IE8中游览器会自作聪明的去掉前面的空白字符text,而其它现代游览器则会保留空白 <body> <s ...

  7. uva 11992 为矩阵更新查询段树

    http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. iOS结合导航控制器和标签栏控制器

    <span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name=& ...

  9. [ACM] HUST 1017 Exact cover (Dancing Links,DLX模板题)

    DESCRIPTION There is an N*M matrix with only 0s and 1s, (1 <= N,M <= 1000). An exact cover is ...

  10. or1200下Raw-OS学习(例子篇)

    没有图我说个~毛(J)线(B)~对吧??? 直接上一个以前做过的项目来说说怎么去从一个前后台的程序过度到利用操作系统去管理的你代码吧~以前想过直接用事件驱动的框架去编写代码的,无奈这方面的资料实在太少 ...