欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

读取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()逐个获取它们的相对路径。

例子的运行结果如:

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

当然我们需要在根文件中添加权限:

<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(); 

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