unity3D 扫描全盘获取文件路径
来源:互联网 发布:sql默认实例 编辑:程序博客网 时间:2024/05/30 19:33
扫描全盘获取文件路径,这一个简单的东西害我做了两天,刚开始先看Resources,接着看AssetBundle和WWW,后面我惊奇的看到EditorUtility.OpenFilePanel ,
但是还是不对,最后高手们说c#可以解决这个问题,我就去看c#,先看了file类,后来看到Directory类,终于明白,里面
有Directory.GetFiles(path:String),Directory.GetFiles(path:String,pattern:String)和Directory.GetFiles(path:String,pattern:String,SearchOption)
三种获取路径中的文件路径的方法,第一种和第二种方法都可以运行,但第三种方法可以在电脑上(除了系统盘)以外的盘达到效果,在手机上就不能运行咯~~~~,怎么办了?
没办法,c#中还有一个Directory.GetDirectories(path:String)获取路径中子目录的方法,所以我写了一个递归函数,虽然在系统盘还是不行,但在手机就达到了我想要的效果。
import System.IO;import System.Collections;var www : WWW;var files:String[];var file:ArrayList;function Start () { file=new ArrayList(); he("/sdcard/","*.png",file); print(file.Count);}function Update(){ if(Input.GetKey(KeyCode.Escape)){ Application.Quit(); }}function OnGUI(){ GUI.Label(Rect(100,100,100,100),file.Count+"----"+files.Length);}function he(path:String,pattern:String,al:ArrayList){//如果al你用String[]的话,会报错,说你的数组不够大,所以我用ArrayList if(path!=null){ var f1:String[]=Directory.GetFiles(path,pattern); for(var f11:String in f1){ al.Add(f11); } var d1:String[]=Directory.GetDirectories(path); for(var d11:String in d1){ var f2:String[]=Directory.GetFiles(d11,pattern); for(var f22:String in f2){ al.Add(f22); } he(d11,pattern,al); } } }
不好意思,以上内容是昨天写的,我在手机上和系统盘好好试了一下还是不行,抛出一个异常,最后我用try-catch就搞定了,以下代码可以运行了:
function he(path:String,pattern:String,al:ArrayList){ if(path!=null){ var f1:String[]=Directory.GetFiles(path,pattern); var d1:String[]; for(var f11:String in f1){ al.Add(f11); } try{ d1=Directory.GetDirectories(path); for(var d11:String in d1){ try{ he(d11,pattern,al);} catch(Exception){} } }catch(Exception){} }}
- unity3D 扫描全盘获取文件路径
- ExecutorService多线程扫描全盘路径
- 批处理怎样全盘获取指定文件第一个路径?
- win32 汇编实现全盘文件扫描功能(杀毒程序的扫描全盘文件功能)
- 批处理全盘搜索指定文件获取其完整路径(部分)
- 批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全
- index 与全盘扫描
- oracle优化:避免全盘扫描
- unity3D 编辑器通过拖拽获取文件路径
- Andriod全盘扫描指定文件并动态显示到列表上
- 全盘文件搜索
- 全盘的文件遍历
- 全盘搜索文件
- 取消卡巴斯基的“全盘扫描”提示
- 分享一位大神的Symbian全盘扫描
- Symbian AO实现的全盘扫描
- android4.4 ROM开发者全盘扫描解决方案
- 【CBM666 的全盘文件查找】
- java.long.NoClassDefFoundError,的解决方法:
- [Note] C變量的各種筆錄
- ORA-12514
- 学习使用GDI+总结_2012.04.29
- Struts2 国际化出错
- unity3D 扫描全盘获取文件路径
- Java基础20-UDP
- 旧的 VB.NET 的 SAP RFC登陆方式
- Launchpad Metronome
- 乱谈企业化信息规划与实施
- Java基础21-TCP
- objective-c 中使用了sqlite数据库。字段定义为boolean型的处理方法
- listview的用法
- 栈和队列