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

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

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

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

(0)

相关推荐

  • Android 微信文件传输助手文件夹

    微信文件传输助手是微信电脑版与手机微信之间相互传输图片等文件的好工具,但很多童鞋都找不到微信文件传输助手文件夹在哪,就让我们一起找找吧 1.先说说手机微信文件传输助手文件夹在哪吧 文件夹路径为/Tencent/MicroMsg/Download/ 2.电脑版微信文件传输助手文件夹在:/微信安装保存目录/wechat files/微信号/ 也可以点击接收到的图片下载保存到相应位置即可 以上就是Android 微信文件传输助手文件夹的寻找,希望能帮助到您,谢谢大家对本站的支持!

  • Android中删除文件以及文件夹的命令记录

    记录一下命令: tools>adb remount tools>adb shell #su #cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容 #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹

  • Android获取手机文件夹及文件列表的方法

    先看看效果图: package wuwang.tools.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Comparator; import

  • android中写一个内部类来选择文件夹中指定的图片类型实例说明

    复制代码 代码如下: /**本类是用来选择文件夹中是.jpg类型的图片*/ private class JpgFileFilter implements FilenameFilter{ @Override public boolean accept(File dir, String filename) { // TODO Auto-generated method stub return filename.endsWith(".jpg"); } }

  • Android编程实现对文件夹里文件排序的方法

    本文实例讲述了Android编程实现对文件夹里文件排序的方法.分享给大家供大家参考,具体如下: private int mFileSize = 0; private List<String> mPathString = new ArrayList<String>(); private boolean sortFolder(String path) { if (path == null || StringUtil.isEmpty(path)) return false; File[]

  • Android遍历所有文件夹和子目录搜索文件

    本文实例为大家分享了android遍历所有文件夹和子目录来搜索文件,供大家参考,具体内容如下 java代码: import java.io.File; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget

  • Android实时文件夹创建方法

    本文实例讲述了Android实时文件夹创建方法.分享给大家供大家参考.具体如下: 实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件.要创建一个实时文件夹,必须要有两方面的支持.一方面是,要定义一个用来创建实时文件夹的Activity.另一方面是,所指定数据信息URI的ContentProvider必须支持实时文件夹的查询.本节中就将要介绍如何为应用程序创建实时文件夹. 与在Launcher的桌面上添加一个快捷方式类似,用户在桌面上长按后选择实时文件夹就会弹出一

  • Android中主要资源文件及文件夹介绍

    在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的 1:assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件. 2:res文件夹里面的多个文件夹的各自介绍 res/anim/ XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象 res/drawable/ .png..9.png..jpg文件

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

    最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和java这里完全搁置了,于是抽空写个小例子. 这个例子非常小,就是一个读取android根目录下的文件夹或文件,当做热一下身. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

  • Python读取一个目录下所有目录和文件的方法

    本文实例讲述了Python读取一个目录下所有目录和文件的方法.分享给大家供大家参考,具体如下: 这里介绍的是刚学python时的一个读取目录的列子,给大家分享下: #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global allFileNum ''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [

  • python打包压缩、读取指定目录下的指定类型文件

    下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch def find_spe_file(root, patterns=['*'], non_cludedir=[]): for root, dirnames, filenames in os.walk(root): for pattern in patterns: for filename in fil

  • Android 在 res/layout 文件夹 下创建一个 子文件夹实例

    Android 资源文件夹 Layout 文件夹 Layout 文件是存放Android的布局文件的资源文件夹,但是如果你想要在里面创建子文件夹,你会发现xml文件报错. 如何在Layout文件夹下方创建Layout的子文件夹. 这边我们需要著一个一个点就是我们的Layout 文件夹是属于资源文件将,如果你直接创建文件夹Android 会无法识别你这个是资源文件夹,所以你需要让文件夹确定为资源文件夹. 如何设置文件夹为资源文件夹 我们将Android Studio 视图模式切换为Project

  • Android存储字符串数据到txt文件

    需求: android存储字符串数据简单的有SharePerfence不过只能存储89kb最多的数据(好像),超过这个数据如果不方便网络存储,只能用文件存储了,这里写了一个工具类,存储到txt文件(不重要的数据,但是体量大) 代码: 1.工具类 package com.xxx.util; import android.os.Environment; import android.util.Log; import java.io.BufferedReader; import java.io.Fil

  • cacls命令设置文件及其文件夹权限的方法

    网上有许多讲解cacls权限设置的文章,虽然已经讲的比较简单,但是新手依然看的一头雾水,操作性不强. 下面以实例为大家一部一部讲解几个实用的命令. 你是否不想让别人在你的电脑上打开某个文件夹或者文件?是否有时想允许让别人看某个文件和文件夹下的文件,但是不想让别人更改?或者不想让自己电脑上的某个账户不能访问某个文件夹?如果有过那么可以用以下命令实现,而不需要借助其他加密软件. 注意要限制别人访问的文件或者文件夹所在盘必须要是NTFS文件系统的,而不能是FAT32格式.这或许是ntfs文件系统安全性

  • Android studio 下JNI编程实例并生成so库的实现代码

    最近需要使用JNI编程,学了下JNI,并且在Android Studio下实现了一个小demo.这期间有一些坑,还好都解决了,想分享出来,希望大家少走弯路.本文中采用的平台是Windows,NDK环境已经搭建好,这方面资料很多,大家可以自行百度. 本文分为两个部分: 1.如何通过编写Jni实现native方法的调用. 2.怎样生成.so动态库提供给第三方使用. 以下是正文: 一,编写jni文件,实现本地方法 1,建立一个新工程,只有一个MainActivity,里面加载库文件并且调用若干本地方法

  • Java读写文件,在文件中搜索内容,并输出含有该内容的所有行方式

    1.问题描述 在一个目录及子目录下查找 TXT或Java文件,从中搜索所有"对象"字样的行. 在D盘中的所有文件中搜索含有"对象"的行. 2.解题思路 先找出D盘下所有文件 再对每个文件中的每行内容进行,进行查找,若含有"对象"两字,输出该行. 3.程序代码 import java.io.File; import java.io.IOException; import java.util.Scanner; public class B { sta

  • Android开发实现读取assets目录下db文件的方法示例

    本文实例讲述了Android开发实现读取assets目录下db文件的方法.分享给大家供大家参考,具体如下: 最近准备打算写一个关于天气预报的app,偶然的机会在一大神的博客上看到了一个获取天气的api,获取天气是通过城市的cityID,项目中准备通过读取weather_city.db数据库来查询cityID,这篇文章写怎么读取assets目录下的db文件,其实方法也挺简单的就是把assets目录下的db文件复制一份到"/data/data/" + packName + "/&

  • Android开发实现读取Assets下文件及文件写入存储卡的方法

    本文实例讲述了Android开发实现读取Assets下文件及文件写入存储卡的方法.分享给大家供大家参考,具体如下: 调用一个反编译的.so文件,查看起加密和解密情况,需要解析上万的数组,而so文件加密解密都是通过Byte来进行,又需要把String字符串转化为 Byte,当把数据直接写在代码中就会提示多Byte数组过大.最后把数组写到Assets文件加下,读取txt文本文件. 读取Assets方法如下: public String getFromAssets(String fileName) {

随机推荐