1. 程式人生 > >Android入門之文件系統操作(二)文件操作相關指令

Android入門之文件系統操作(二)文件操作相關指令

-h tools strong abc his art 為什麽 重命名 path

(一)獲取總根

[java] view plain copy
  1. File[] fileList=File.listRoots();
  2. //返回fileList.length為1
  3. //fileList.getAbsolutePath()為"/"
  4. //這就是系統的總根

(二)打開總根目錄

[java] view plain copy
  1. File file=new File("/");
  2. File[] fileList=file.listFiles();
  3. //獲取的目錄中除了"/sdcard"和"/system"還有"/data"、"/cache"、"/dev"等
  4. //Android的根目錄並不像Symbian系統那樣分為C盤、D盤、E盤等
  5. //Android是基於Linux的,只有目錄,無所謂盤符

(三)獲取系統存儲根目錄

[java] view plain copy
  1. File file=Environment.getRootDirectory();//File file=new File("/system");
  2. File[] fileList=file.listFiles();
  3. //這裏說的系統僅僅指"/system"
  4. //不包括外部存儲的手機存儲的範圍遠遠大於所謂的系統存儲

(四)獲取SD卡存儲根目錄

[java] view plain copy
  1. File file=Environment.getExternalStorageDirectory();//File file=new File("/sdcard");
  2. File[] fileList=file.listFiles();
  3. //要獲取SD卡首先要確認SD卡是否裝載
  4. boolean is=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
  5. //如果true,則已裝載
  6. //如果false,則未裝載

(五)獲取data根目錄

[java] view plain copy
  1. File file=Environment.getDataDirectory();//File file=new File("/data");
  2. File[] fileList=file.listFiles();
  3. //由於data文件夾是android裏一個非常重要的文件夾,所以一般權限是無法獲取到文件的,即fileList.length返回為0

(六)獲取私有文件路徑

[java] view plain copy
  1. Context context=this;//首先,在Activity裏獲取context
  2. File file=context.getFilesDir();
  3. String path=file.getAbsolutePath();
  4. //此處返回的路勁為/data/data/包/files,其中的包就是我們建立的主Activity所在的包
  5. //我們可以看到這個路徑也是在data文件夾下
  6. //程序本身是可以對自己的私有文件進行操作
  7. //程序中很多私有的數據會寫入到私有文件路徑下,這也是android為什麽對data數據做保護的原因之一

(七)獲取文件(夾)絕對路徑、相對路勁、文件(夾)名、父目錄

[java] view plain copy
  1. File file=……
  2. String relativePath=file.getPath();//相對路徑
  3. String absolutePath=file.getAbsolutePath();//絕對路徑
  4. String fileName=file.getName();//文件(夾)名
  5. String parentPath=file.getParent();//父目錄

(八)列出文件夾下的所有文件和文件夾

[java] view plain copy
  1. File file=……
  2. File[] fileList=file.listFiles();

(九)判斷是文件還是文件夾

[java] view plain copy
  1. File file=……
  2. boolean is=file.isDirectory();//true-是,false-否

(十)判斷文件(夾)是否存在

[java] view plain copy
  1. File file=……
  2. boolean is=file.exists();//true-是,false-否

(十一)新建文件(夾)

[java] view plain copy
  1. File file=……
  2. oolean is=file.isDirectory();//判斷是否為文件夾
  3. /*方法1*/
  4. if(is){
  5. String path=file.getAbsolutePath();
  6. String name="ABC";//你要新建的文件夾名或者文件名
  7. String pathx=path+name;
  8. File filex=new File(pathx);
  9. boolean is=filex.exists();//判斷文件(夾)是否存在
  10. if(!is){
  11. filex.mkdir();//創建文件夾
  12. //filex.createNewFile();//創建文件
  13. }
  14. /*方法2*/
  15. if(is){
  16. String path=file.getAbsolutePath();
  17. String name="test.txt";//你要新建的文件夾名或者文件名
  18. File filex=new File(path,name);//方法1和方法2的區別在於此
  19. boolean is=filex.exists();//判斷文件(夾)是否存在
  20. if(!is){
  21. filex.mkdir();//創建文件夾
  22. //filex.createNewFile();//創建文件
  23. }

(十二)重命名文件(夾)

[java] view plain copy
  1. File file=……
  2. String parentPath=file.getParent();
  3. String newName="name";//重命名後的文件或者文件夾名
  4. File filex=new File(parentPath,newName);//File filex=new File(parentPaht+newName)
  5. file.renameTo(filex);

(十三)刪除文件(夾)

[java] view plain copy
    1. File file=……
    2. file.delete();//立即刪除
    3. //file.deleteOnExit();//程序退出後刪除,只有正常退出才會刪除

Android入門之文件系統操作(二)文件操作相關指令