读取android根目录下的文件或文件夹实例
程序员文章站
2024-02-29 11:34:46
最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!!
近半个月来,c#这方面...
最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!!
近半个月来,c#这方面的编码比较多,android和java这里完全搁置了,于是抽空写个小例子。
这个例子非常小,就是一个读取android根目录下的文件夹或文件,当做热一下身。
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); edittext keywordtext = (edittext)this.findviewbyid(r.id.keyword); button button = (button)this.findviewbyid(r.id.button); textview result = (textview)this.findviewbyid(r.id.result); button.setonclicklistener(new button.onclicklistener() { public void onclick(view v) { string keyword = keywordtext.gettext().tostring(); if (keyword.equals("")) { result.settext("请勿输入空白的关键词!!"); }else { result.settext(searchfile(keyword)); } } }); } private string searchfile(string keyword) { string result = ""; file[] files = new file("/").listfiles(); for (file file : files) { if (fike.getname().indexof(keyword) >= 0) { result += file.getpath() + "\n"; } } if (result.equals("")){ result = "找不到文件!!"; } return result; }
首先,我们需要通过file.listfiles()方法获取文件夹下所有文件或者文件夹的名字,这里的文件夹的路径是"/",也就是根目录。然后我们再通过getpath()逐个获取它们的相对路径。
例子的运行结果如:
当然我们需要在根文件中添加权限:
<uses-permission android:name="android.permission.write_external_storage"></uses-permission>
由于例子实在是太小了,整片文章的篇幅不长,所以特意在文章的后面列出所有的文件操作以供大家参考:
一.sdk的操作
1、判断sd卡是否插入
environment.getexternalstoragestate().equals(android.os.environment.media_mounted);
这个在我之前做的东西中就非常有用,因为涉及到sdk的读取,自然就需要先判断sdk是否插入。
2、获得sd卡根目录:
file skroot = environment.getexternalstoragedirectory();
二.私有目录下的文件操作:
1、获得私有根目录:
file fileroot = context.getfilesdir()+"\";
2.文件夹或文件夹操作:
(1)获得文件夹和文件路径
a.获得文件或文件夹的绝对路径和相对路径。区别
string path = file.getpath();//相对 string path = file.getabsoultepath();//绝对
b.获得文件或文件夹的父目录
string parentpath = file.getparent();
c.获得文件或文件夹的名称:
string name = file.getname();
(2)建立文件或文件夹
file.mkdir(); //建立文件夹 file.createnewfile();//建立文件
(3)判断是文件或文件夹
file.isdirectory() file.isdirectory()
(4)列出文件夹下的所有文件和文件夹名
file[] files = file.listfiles();
(5)修改文件夹和文件名
file.renameto(dest);
(6)删除文件夹或文件
file.delete();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。