Java學習筆記七(目錄操作)

來源:互聯網
上載者:User

標籤:檔案過濾器   java   file path   block   摘要   exce   parent   用法   new   

 

 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學習筆記七(目錄操作)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.