標籤:
1.介紹
上一篇部落格介紹的是java中常用的操作檔案的方式,本篇部落格著重講解一下,在Java中是如何來操作檔案夾的。主要是利用的是Java.IO包下面的File類,本篇部落格著重講解一下該類的建構函式和常用的方法。
2.File類的欄位摘要
File類為我們提供了與系統有關的路徑分割符,欄位分別如下
static String pathSeparator:返回值為字串,結果表示分號;
static char pathSeparatorChar:返回值為char類型,結果表示分號
static char separatorChar:返回值為char類型,結果表示\的路徑分割符
static string separator:返回值為String類型,結果表示\的路徑分割符
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;public class FileDemo {public static void main(String[] args) {String separator=File.separator;System.out.println(separator);//輸出\ windows下的路徑分割符號String pathSeparator=File.pathSeparator;System.out.println(pathSeparator);//輸出結果為分號;}}</span>
有了這些欄位,以後用的時候,就可以無關跨系統的路徑分割符了。
2.File類的常用方法
1.建立一個檔案
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;import java.io.IOException;public class FileDemo1 {public static void main(String[] args){File file=new File("c:"+File.separator+File.separator+"1.txt");try {file.createNewFile();} catch (IOException e) {e.printStackTrace();}}}</span>
運行之後會在C盤有一個1.txt的檔案
2.刪除方法
刪除方法:boolean delete(),刪除File建構函式方法中封裝的路徑,刪除成功後返回true,注意的是直接刪除,不走資源回收筒
延遲刪除方法 void deleteOnExit()刪除File構造方法中封裝的路徑,等JVM結束前刪除
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;public class FileDemo1 {public static void main(String[] args){File file=new File("c:"+File.separator+"1.txt");if(file.exists()){file.delete();}else {System.out.println("檔案不存在");}}}</span>
3.建立一個檔案夾
用的是File類的mkdir方法
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;public class FileDemo1 {public static void main(String[] args){File file=new File("c:"+File.separator+"1");file.mkdir();}}</span>
4.列出檔案下的全部目錄(包括隱藏的檔案)
String[] list:擷取File構造方法中封裝的路徑下的全部檔案夾和檔案
File[] listFiles:返回所有檔案下的目錄對象,兩者的返回值不同
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;public class FileDemo1 {public static void main(String[] args){File file=new File("c:"+File.separator+"Users");String[] str=file.list();for(String s:str){System.out.println(s);}File[] files=file.listFiles();for(File s:files){System.out.println(s);}}}</span>
5.檔案過濾器
在擷取指定檔案夾下的指定檔案時,可以採取過濾器效果,採用的是如下方法
File[] listFile(FileFilter filter):檔案過濾器,可以實現想擷取想要的檔案
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;import java.io.FileFilter;public class FileFlter {public static void main(String[] args) {File file = new File("c:" + File.separator + "1");// 採用匿名類的形式封裝FileFilter方法File[] files = file.listFiles(new FileFilter() {// 自訂自己的過濾方法public boolean accept(File pathname) {return pathname.getName().endsWith(".txt");}});for (File s : files) {System.out.println(s);}}}</span>
6.File類的判斷方法
~boolean exists():判斷File構造方法中封裝的路徑是否存在
~boolean isDirectory():判斷File構造方法中封裝的是不是目錄
~boolean isFile():判斷File構造方法中封裝的是不是檔案
~boolean isAbslute():判斷File構造方法中封裝的是不是絕對路徑
~boolean isHidden():判斷File構造方法中封裝的路徑是不是隱藏屬性
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;/* * 測試File的判斷方法 */public class FileExists {public static void main(String[] args) {method();}//判斷file構造方法封裝的是不是絕對路徑private static void method_4(){File file=new File("c:\\java");boolean b=file.isAbsolute();System.out.println(b);}//判斷file構造方法封裝的是不是檔案private static void method_2(){File file=new File("c:\\java");boolean b=file.isFile();System.out.println(b);}//判斷file構造方法封裝的是不是目錄private static void method_1(){File file=new File("c:\\java");boolean b=file.isDirectory();System.out.println(b);}//用來判斷封裝的某個路徑是否存在private static void method(){File file=new File("c:\\windows");boolean b=file.exists();System.out.println(b);}}</span>
7.File類的擷取方法get開頭
static File[] listRoots() 返回當前系統根
String getName()擷取的是File構造方法封裝的檔案名稱或者是檔案夾名,擷取到的是封裝的路徑的最末尾的名字,檔案夾,檔案
String getParent() 擷取的是File構造方法封裝的路徑的父路徑,沒有返回null,如果使用這個方法,返回的是String對象,可以使用String類的方法
File getParentFile()擷取的是File構造方法封裝的路徑的父路徑,沒有返回null,如果使用這個方法,返回的是File對象,可以使用File類的方法
String getPath()將File構造方法中封裝的路徑,變成String
String getAbsolutePath()擷取File構造方法中封裝的路徑的絕對路徑,返回String
File getAbsoluteFile()擷取File構造方法中封裝的路徑的絕對路徑,返回File
<span style="font-family:SimSun;font-size:18px;">package com.IO;import java.io.File;public class GetFile {public static void main(String[] args) {method_1();}private static void method_1(){//獲得指定的檔案的名稱File file=new File("c:\\windows\\system32");String name=file.getName();//獲得父級目錄的物件路徑File parentFile=file.getParentFile();System.out.println(parentFile.toString());//擷取絕對路徑的方法String absoluteFile=file.getAbsolutePath();System.out.println(name);}//獲得系統的根目錄一般就是作業系統的C D E 的盤符private static void method(){File[] filelist=File.listRoots();for(File o:filelist){System.out.println(o);}}}</span>
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Java學習筆記七(檔案夾操作)