当前位置: 移动技术网 > 移动技术>移动开发>Android > 读取android根目录下的文件或文件夹实例

读取android根目录下的文件或文件夹实例

2019年07月24日  | 移动技术网移动技术  | 我要评论

最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!!

近半个月来,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(); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网