原文网址:http://www.cnblogs.com/wenjiang/p/3140055.html

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

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

【转】忙里偷闲写的小例子---读取android根目录下的文件或文件夹的更多相关文章

  1. 忙里偷闲写的小例子---读取android根目录下的文件或文件夹

    最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和 ...

  2. 【转】读取android根目录下的文件或文件夹

    原文网址:http://my.oschina.net/Ccx371161810/blog/287823 读取android根目录下的文件或文件夹 SDK的操作 读取android根目录下的文件或文件夹 ...

  3. 读取 android sys/下的信息

    读取 android sys/下的信息 https://github.com/ruw/Internet-Services-projects/tree/master/OffloadPredictor/l ...

  4. android工程下assets与raw文件夹

    在应用的开发中,当我们创建一个新的Android工程后,我们会发现工程中包含了一个目录assets,另外当我们察看一些示例工程的时候,有时会发现在该工程的资源目录下会有一个raw目录(res/raw) ...

  5. java 如何读取src根目录下的属性文件

    在java项目中,如何获取src根目录下的属性文件/资源文件呢? 有如下三种方式: 方式一: InputStream in = Test.class .getResourceAsStream(&quo ...

  6. vue +bootstrap 写的小例子

    最近vue挺火,最近也不是特别忙,就学习了下. vue和angular非常像都是MVVM.道理都是想通的,就是语法的差异 我觉得vue和angular区别: 1.vue更轻,更便捷,适用于移动开发 2 ...

  7. 存储、读取——Android应用程序内置的文件夹

    1.将数据存储到应用程序的文件夹,并读写 Context提供了两个方法,打开应用程序文件夹的I/O,若文件不存在则创建 FileInputStream openFileInputStream(Stri ...

  8. Android 编程下如何修改 jar 文件的包名

    首先我们要说说为什么要修改 jar 文件的包名,jar 包我们会非常高频率的使用,尤其是用一些其他三方库的时候,往往把 java 代码打包成 jar 文件,方便项目依赖使用.笔者在开发过程中遇到过一些 ...

  9. android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

随机推荐

  1. 元类metaClass

    metaClass 实现动态改变对象的能力,这点特别像python(metaClass),Python中类(不是元类)的概念借鉴于Smalltalk groovy demo: class Person ...

  2. iOS 开发一年总结

    收获很多 1. 一个人包办从构思, 设计, 实现, 推广的全过程, 对自己的能力, 特别是能力范围有很大的提升. 以前在公司上班仅仅局限在实现的局域内, 现在在做自己的产品时, 在设计时的取舍, 对工 ...

  3. sharepoint 2010 masterpage中必须的Content PlaceHolder

    Professional SharePoint 2010 Branding and Use

  4. resin access.log format配置详解

    The access log formatting variables follow the Apache variables:     %b result content length %D tim ...

  5. CentOS6.4 安装 mongo-connector

    mongo-connector在python2.6.6版本下安装不成功,官方测试2.7,3.3正常 需要升级python2.7 具体步骤: 安装开发工具包: yum groupinstall &quo ...

  6. What we learned in Seoul with AlphaGo

    What we learned in Seoul with AlphaGo March 16, 2016 Go isn’t just a game—it’s a living, breathing c ...

  7. jquery取消事件冒泡和取消默认行为

    $('button').click(functon(e){ /*code*/ e.stopPropagation();//取消事件冒泡 e.preventDefault();//取消默认行为 })

  8. uva 165

    回溯  参考了一下别人的解法  1 必须存在  再枚举下一个数字的时候  从当前可取到的最小数字加一枚举到当前可取到的最大数字加一 /********************************* ...

  9. 20130729--Samba的学习

    (一).基本概念 samba是一个能让你的Unix计算机和其它MS Windows计算机相互共享资源的软件. samba提供有关资源共享的三个功能,包括:smbd,执行它可以使Unix能够共享资源给其 ...

  10. ***用php的strpos() 函数判断字符串中是否包含某字符串的方法

    判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){ echo '包含'; }else{ echo '不包含'; } ...