忙里偷閑寫的小例子---讀取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();

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM