原文网址: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. Qt 内存管理机制(转)

      许转载http://devbean.blog.51cto.com/448512/526734 强类型语言在创建对象时总会显式或隐式地包含对象的类型信息.也就是说,强类型语言在分配对象内存空间时,总 ...

  2. MVC学习系列——参考

    C#进阶系列——WebApi接口传参不再困惑:传参详解 http://www.cnblogs.com/landeanfen/p/5337072.html

  3. javascript高级编程笔记05(面向对象)

    面向对象设计 es中有两种属性:数据属性和访问器属性 数据属性: 数据属性包含一个数据值的位置,在这个位置可以读取和写入值,数据属性有4个描述其行为的特性 [[Configurable]]:表示能否通 ...

  4. windows server 2008 r2电脑历史操作记录

    1.看计算机哪天运行过.    在系统盘下的Windows\Tasks文件夹下找到文件SCHEDLGU.TXT. 2.看你最近打开过什么文件(非程序)或者文件夹    开始-->运行--> ...

  5. 提升网站性能之设置gzip

    tomcat如何设置gzip: http://www.tuicool.com/articles/aMRRFre http://blog.csdn.net/xuefeng0707/article/det ...

  6. VPN销售管理系统一键安装包

    wget http://d.zmrbk.com/vpn/zmrvpn.sh;chmod +x zmrvph.sh;sh zmrvpn.sh 2>&1 | tee zmrbk.com.lo ...

  7. Mybatis的分页查询

    示例1:查询业务员的联系记录 1.控制器代码(RelationController.java) //分页列出联系记录 @RequestMapping(value="toPage/custom ...

  8. 强大的CImage类

    这下有了CImage类,处理其他类型的图片不再寻找第三方类库了.加载到对话框背景的代码如下:  //从资源里载入背景JPEG图片 HRSRC hRsrc=::FindResource(AfxGetRe ...

  9. 2013 Multi-University Training Contest 5 Partition

    思路:五边形数定理!!! 五边形数定理是一个由欧拉发现的数学定理,描述欧拉函数展开式的特性.欧拉函数的展开式如下: 亦即 欧拉函数展开后,有些次方项被消去,只留下次方项为1, 2, 5, 7, 12, ...

  10. ThinkPHP下隐藏index.php以及URL伪静态

    第一种方法: 设置url的重写模式(默认模式是1) 'URL_MODEL' => 2, // URL访问模式,可选参数0.1.2.3,代表以下四种模式: 第二种方法:  使用Apache来进行设 ...