原文网址:http://my.oschina.net/Ccx371161810/blog/287823
读取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;
}
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.isFile()
File.isDirectory()
(4)列出文件夹下的所有文件和文件夹名
File[] files = File.listFiles();
(5)修改文件夹和文件名
File.renameTo(dest);
(6)删除文件夹或文件
File.delete();
需要在根文件中添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>