【转】读取android根目录下的文件或文件夹

时间:2021-09-01 11:13:06

原文网址: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"/>