读取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();
转自:http://www.cnblogs.com/wenjiang/p/3140055.html
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值