您的位置:首页 > 移动开发 > Android开发

android代码中读取文件夹下的文件名

2015-01-09 09:12 169 查看
@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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: