Android入門之文件系統操作(二)文件操作相關指令
阿新 • • 發佈:2017-09-01
-h tools strong abc his art 為什麽 重命名 path
(一)獲取總根
[java] view plain copy- File[] fileList=File.listRoots();
- //返回fileList.length為1
- //fileList.getAbsolutePath()為"/"
- //這就是系統的總根
(二)打開總根目錄
[java] view plain copy- File file=new File("/");
- File[] fileList=file.listFiles();
- //獲取的目錄中除了"/sdcard"和"/system"還有"/data"、"/cache"、"/dev"等
- //Android的根目錄並不像Symbian系統那樣分為C盤、D盤、E盤等
- //Android是基於Linux的,只有目錄,無所謂盤符
(三)獲取系統存儲根目錄
[java] view plain copy- File file=Environment.getRootDirectory();//File file=new File("/system");
- File[] fileList=file.listFiles();
- //這裏說的系統僅僅指"/system"
- //不包括外部存儲的手機存儲的範圍遠遠大於所謂的系統存儲
(四)獲取SD卡存儲根目錄
[java] view plain copy- File file=Environment.getExternalStorageDirectory();//File file=new File("/sdcard");
- File[] fileList=file.listFiles();
- //要獲取SD卡首先要確認SD卡是否裝載
- boolean is=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
- //如果true,則已裝載
- //如果false,則未裝載
(五)獲取data根目錄
[java] view plain copy- File file=Environment.getDataDirectory();//File file=new File("/data");
- File[] fileList=file.listFiles();
- //由於data文件夾是android裏一個非常重要的文件夾,所以一般權限是無法獲取到文件的,即fileList.length返回為0
(六)獲取私有文件路徑
[java] view plain copy- Context context=this;//首先,在Activity裏獲取context
- File file=context.getFilesDir();
- String path=file.getAbsolutePath();
- //此處返回的路勁為/data/data/包/files,其中的包就是我們建立的主Activity所在的包
- //我們可以看到這個路徑也是在data文件夾下
- //程序本身是可以對自己的私有文件進行操作
- //程序中很多私有的數據會寫入到私有文件路徑下,這也是android為什麽對data數據做保護的原因之一
(七)獲取文件(夾)絕對路徑、相對路勁、文件(夾)名、父目錄
[java] view plain copy- File file=……
- String relativePath=file.getPath();//相對路徑
- String absolutePath=file.getAbsolutePath();//絕對路徑
- String fileName=file.getName();//文件(夾)名
- String parentPath=file.getParent();//父目錄
(八)列出文件夾下的所有文件和文件夾
[java] view plain copy- File file=……
- File[] fileList=file.listFiles();
(九)判斷是文件還是文件夾
[java] view plain copy- File file=……
- boolean is=file.isDirectory();//true-是,false-否
(十)判斷文件(夾)是否存在
[java] view plain copy- File file=……
- boolean is=file.exists();//true-是,false-否
(十一)新建文件(夾)
[java] view plain copy- File file=……
- oolean is=file.isDirectory();//判斷是否為文件夾
- /*方法1*/
- if(is){
- String path=file.getAbsolutePath();
- String name="ABC";//你要新建的文件夾名或者文件名
- String pathx=path+name;
- File filex=new File(pathx);
- boolean is=filex.exists();//判斷文件(夾)是否存在
- if(!is){
- filex.mkdir();//創建文件夾
- //filex.createNewFile();//創建文件
- }
- /*方法2*/
- if(is){
- String path=file.getAbsolutePath();
- String name="test.txt";//你要新建的文件夾名或者文件名
- File filex=new File(path,name);//方法1和方法2的區別在於此
- boolean is=filex.exists();//判斷文件(夾)是否存在
- if(!is){
- filex.mkdir();//創建文件夾
- //filex.createNewFile();//創建文件
- }
(十二)重命名文件(夾)
[java] view plain copy- File file=……
- String parentPath=file.getParent();
- String newName="name";//重命名後的文件或者文件夾名
- File filex=new File(parentPath,newName);//File filex=new File(parentPaht+newName)
- file.renameTo(filex);
(十三)刪除文件(夾)
[java] view plain copy- File file=……
- file.delete();//立即刪除
- //file.deleteOnExit();//程序退出後刪除,只有正常退出才會刪除
Android入門之文件系統操作(二)文件操作相關指令