热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Unity3D扫描全盘获取文件路径

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

扫描全盘获取文件路径,这一个简单的东西害我做了两天,刚开始先看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)获取路径中子目录的方法,所以我写了一个递归函数,虽然在系统盘还是不行,但在手机就达到了我想要的效果。

  1. import System.IO;  
  2.   
  3. import System.Collections;  
  4.   
  5. var www : WWW;  
  6.   
  7. var files:String[];  
  8.   
  9. var file:ArrayList;  
  10.   
  11. function Start () {  
  12.   
  13.     file=new ArrayList();  
  14.   
  15.     he("/sdcard/","*.png",file);  
  16.   
  17.     print(file.Count);  
  18.   
  19. }  
  20.   
  21. function Update(){  
  22.   
  23.    if(Input.GetKey(KeyCode.Escape)){  
  24.   
  25.       Application.Quit();  
  26.   
  27.    }  
  28.   
  29. }  
  30.   
  31. function OnGUI(){  
  32.   
  33.    GUI.Label(Rect(100,100,100,100),file.Count+"----"+files.Length);  
  34.   
  35. }  
  36.   
  37.   
  38.   
  39.   
  40.   
  41.   
  42.   
  43. function he(path:String,pattern:String,al:ArrayList){//如果al你用String[]的话,会报错,说你的数组不够大,所以我用ArrayList   
  44.   
  45.  if(path!=null){       
  46.   
  47.    var f1:String[]=Directory.GetFiles(path,pattern);  
  48.   
  49.    for(var f11:String in f1){  
  50.   
  51.      al.Add(f11);  
  52.   
  53.    }  
  54.   
  55.    var d1:String[]=Directory.GetDirectories(path);  
  56.   
  57.    for(var d11:String in d1){  
  58.   
  59.       var f2:String[]=Directory.GetFiles(d11,pattern);        
  60.   
  61.         for(var f22:String in f2){  
  62.   
  63.         al.Add(f22);  
  64.   
  65.         }  
  66.   
  67.         he(d11,pattern,al);            
  68.   
  69.     }     
  70.   
  71.   }   
  72.   
  73. }  

unity3D真好~~~~,尽管我习惯用js写代码了,但是所有c#的函数在js里面都可以用,呵呵~~~~,msdn也很好,谢谢你们~~~~~


推荐阅读
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
author-avatar
倩倩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有