读取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();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
mui.init()与mui.plusReady()区别和关系
给大家分享一下在使用MUI进行APP开发的时候,mui.init()与mui.plusReady()区别以及使用上不同之处。2017-11-11Android XML設置屏幕方向(android:screenOrientation)详解
这篇文章主要介绍了Android XML設置屏幕方向(android:screenOrientation)详解的相关资料,需要的朋友可以参考下2017-04-04Android Handler runWithScissors 梳理流程解析
这篇文章主要为大家介绍了Android Handler runWithScissors 梳理流程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10Android开发Jetpack组件ViewModel使用讲解
这篇文章主要介绍了Android Jetpack架构组件 ViewModel详解,ViewModel类让数据可在发生屏幕旋转等配置更改后继续存在,ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据,感兴趣可以来学习一下2022-08-08flutter RotationTransition实现旋转动画
这篇文章主要为大家详细介绍了flutter RotationTransition实现旋转动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-07-07
最新评论