Java之File類的構造方法

2020-11-29 彼岸end

各位小夥伴們大家好,在之前的文章中,小編介紹了Java之File類的簡單介紹,File類的靜態成員變量,這次小編要介紹的是File類的構造方法

小編先來介紹一下構造方法1File(String pathname)通過給定路徑名字符串轉換為抽象路徑名來創建一個新File實例

參數:

String pathname:字符串的路徑名稱

路徑可以是以文件結尾,也可以是以文件夾結尾,可以是相對路徑,也可以是絕對路徑,可以存在,也可以不存在,創建File對象,只是把字符串路徑

封裝為File對象,不考慮路徑的真假情況

代碼如下:

public class Demo02File {

public static void main(String[] args) {

//file類構造方法1

show01();

}

private static void show01() {

File f1=new File("c:\\Users\\java\\code\\a.text");

System.out.println(f1);

//重寫了Object類的toString方法,列印的是一個路徑:c:\Users\java\code\a.text

File f2=new File("c:\\Users\\java\\code");

System.out.println(f2);//列印的是一個文件夾:c:\Users\java\code

File f3=new File("a.txt");

System.out.println(f3);//列印的是一個相對路徑:a.txt

}

}

構造方法的創建2:File(String parent,String child)根據parent路徑名字符字符串和child路徑名字符串創建一個新File實例。

參數:把路徑分成了兩部分

String parent:父路徑

String child:子路徑

好處:父路徑和子路徑,可以單獨書寫,使用方便;父路徑和子路徑都可以變化

代碼如下:

public class Demo02File {

public static void main(String[] args) {

//file類構造方法2

show02("c:\\","HelloWord.java");

}

private static void show02(String parent,String child){

File f2=new File(parent,child);

System.out.println(f2);//列印的是一個路徑:c:\HelloWord.java

}

}

父路徑和子路徑,可以單獨書寫,列印出來的還是一個完整的路徑,使用起來更靈活,父路徑,和子路徑可以根據自己地需求改變

構造方法的創建3:File(File parent,String child)根據parent抽象路徑名和child路徑名字符串創建一個新File實例

參數:把路徑分成了兩部分

File parent:父路徑

String child:子路徑

好處:1.父路徑和子路徑,可以單獨書寫,使用方便;父路徑和子路徑都可以變化

2.父路徑是File類型,可以使用File類的方法對路徑進行一些操作,再使用路徑創建對象

代碼如下:

public class Demo02File {

public static void main(String[] args) {

//file類構造方法3

show03();

}

private static void show03() {

File parent=new File("c:\\");

File file3=new File(parent,"b.txt");

System.out.println(file3);//列印的是一個路徑:c:\b.txt

}

}

在File類構造方法3中,父路徑和子路徑也可以單獨寫,同構造方法2一樣,不過,不同的是構造方法3中的父路徑的數據類型是File,因此父路經,可以調用File類中的方法

接下來小編要簡單緹一下,相對路徑和絕對路徑的區別

絕對路徑是一個完整的路徑,一般是以盤符(C:,D:)開始的路徑

如:D:\\輸入法\\SogouInput\\readme.txt

而相對路徑是一個簡化的路徑,相對指的是相對於當前項目的根目錄

(D:\\輸入法\\SogouInput)

如果使用當前項目的根目錄,路徑可以簡化書寫

例如這個絕對路徑:D:\\輸入法\\SogouInput\\readme.txt,簡化為相對路徑:readme.txt(可以省略項目的根目錄)

關於路徑有幾點注意事項

路徑不區分大小寫關於路徑中的文件名稱分隔符不同的系統是不一樣的,Windows系統使用反斜槓/,反斜槓是轉義字符,兩個反斜槓代表一個普通的反斜槓。Linux系統使用正斜杆\。關於File中的這幾個構造方法,還有相對路徑和絕對路徑,小編就簡單說到這裡,希望這篇文章可以幫到大家,也歡迎各位小夥伴補充和糾錯

圖片來自網絡,如有侵權,請聯繫作者刪除

相關焦點

  • JAVA中的File類的操作與小爬蟲的製作
    File類(java.io.File;)Java中所有的目錄都被當成File 對待,它直接處理文件和文件系統。也就是說,File類沒有指定信息怎樣從文件讀取或向文件存儲;它描述了文件本身的屬性。File對象用來獲取或處理與磁碟文件相關的信息,例如權限,時間,日期和目錄路徑。
  • 黑馬程式設計師:Random類與ArrayList類的構造方法和創建(附習題)
    本文內容:Random類ArrayList類本文學後目標:能夠使用Random類生成隨機數能夠使用數組存儲自定義類型並遍歷能夠使用ArrayList集合構造方法創建ArrayList集合對象一、 Random類1.此類的實例用於生成偽隨機數,比如說是,下面的代碼可以使我們能夠得到一個隨機的數字
  • Java反射初探 ——「當類也學會照鏡子」
    每個類都有一個與之對應的「類」對象(Class對象),這個「類」對象由jvm生成,並保存了對應類的相關信息。例如,假設我們的java文件涉及三個類:a類,b類和c類,那麼編譯的時候就會對應生成a類的「類」對象,a類的「類」對象,a類的「類」對象,分別用於保存和a,b,c類對應的信息 我們的思維是這樣的: 一個對象必然有一個與之對應的類,因為只有類才能實例化對象啊 那麼,「類對象」的「
  • Java內部類新解,你沒有見過的船新版本
    (java.lang.String); public void show(); public static void main(java.lang.String[]); # 注意這兩個靜態方法 static java.lang.Object access$000(OuterClass); static void access$100(OuterClass, java.lang.String
  • Java基礎教程:java反射機制教程
    因為這個類是我們自己定義的,所以在使用的時候我們知道User有兩個欄位name和age,還有無參和有參構造方法,另外的test方法我們也可以直接調用(因為其是public)。 現在出現一個問題,如果這個user類不是我們自己定義的,我們從外部看不到裡面有什麼東西,而且我們又想去知道內部長什麼樣,比如說有幾個欄位、方法、構造方法、共有還是私有的等等,這時候該怎麼辦呢?這時候java語言在設計的時候為我們提供了一個機制,就是反射機制,他能夠很方便的去解決我們的問題。
  • Java編程中基礎反射詳細解析
    有時會把這一整個流程統稱為類加載或類初始化。類加載指的是將類的class文件讀入內存中,並為之創建一個 java.lang.Class對象,也就是說程序使用任何類的時候,都會為其創建一個class對象。
  • Java基礎,類的繼承,粗略的理解希望對大家有所幫助!
    Java基礎:繼承讀者老爺們大家好,今天圖圖帶大家了解一下java基礎裡的繼承。首先確定一下我們今天的學習的三個目標。第一個是類的繼承;第二個是訪問控制權限;第三個方法重寫(覆蓋)override。好滴,話不多說,讓我們快樂的投身知識的海洋裡吧!
  • 面試頻率最高的簡單問題——Java類的三大基本特徵
    學習過Java的程式設計師都知道,java類有三大特徵——封裝、繼承和多態。下面的文章給大家詳細的介紹一下java的這三大特性。封裝封裝是將描述某類事物的數據與處理這些數據的函數封裝在一起,形成一個有機整體,稱為類。類所具有的的封裝性可使程序模塊具有良好的獨立性與可維護性。
  • Java面向對象之final、abstract抽象、和變量生命周期
    但是需要注意的是:構造方法不能使用final修飾,因為構造方法不能夠被繼承。下面,咱們就來一一看看吧!只要滿足以下條件就可以考慮把一個類設計成final類:在設計之初就考慮不進入繼承體系的類。出於安全考慮,類的實現細節不允許被拓展和修改。比如:基本數據類型的包裝類就是一個典型的例子。該類不會再被拓展。
  • 用經典案例來幫助初學者解析Java的「多態」
    形狀不同,當然求面積和求周長的方法內的實現邏輯也不同啦!若需要使用子類的或是實現類的構造方法為某屬性傳值,那麼構造方法要具備的,具體細節不是這篇文章主題要闡述的,就不多言。3.實現接口Shape.java的實現類之一 Rectangle.java 即矩形類:如上,Rectangle.java類實現了接口Shape.java中的若干抽象方法,當然,若Shape.java是父類或抽象類的話,Rectangle.java須重寫父類的getArea()方法、getPer(
  • Java之Random類的簡單介紹
    各位小夥伴這次小編要介紹的是Random類,它是用來形成隨機數字的,使用Random有三個步驟,與之前講的Scanner類差不多。第一步,導包:import java.util.Random第二步,創建:Random a=new Random();小括號是可以留空的第三步,使用:如果要獲取一個隨機數int數字(範圍是int所有範圍,有正負兩種):int num=a.nextInt();為了方便大家的理解,小編就先粘幾行代碼,是一個比較簡單的猜數字小遊戲,代碼如下:
  • Java反射機制深入詳解
    一.概念反射就是把Java的各種成分映射成相應的Java類。Class類的構造方法是private,由JVM創建。反射是java語言的一個特性,它允程序在運行時(注意不是編譯的時候)來進行自我檢查並且對內部的成員進行操作。例如它允許一個java的類獲取他所有的成員變量和方法並且顯示出來。
  • Java 構造器(構造方法)詳細使用說明 - 計算機java編程
    final類是不允許被繼承的,編譯器會報錯。很好理解,由於final修飾符指的是不允許被修改,而繼承中,子類是可以修改父類的,這裡就產生衝突了,所以final類是不允許被繼承的。,優先級最高子類靜態代碼塊:只在程序啟動後執行一次,優先級低於父類靜態代碼塊父類構造代碼塊:父類任何一個構造器被調用的時候,都會執行一次,優先級低於子類靜態代碼塊父類構造器:優先級低於父類構造代碼子類構造代碼塊
  • 做java的你,這些英文單詞都掌握了嗎?
    18、Collections framework 容器類構架:接口、實現和算法三個元素構成了容器類的架構。19、Constructor 構造函數:在對象創建或者實例化時候被調用的方法。通常使用該方法來初始化數據成員和所需資源。20、Containers容器:容器是一種特殊的組件,它可以容納其他組件。
  • java之字符緩衝輸出流,BufferedWriter的簡單介紹
    各位小夥伴們,大家好在之前的文章中小編介紹了字節緩衝流的相關知識,這次小編要介紹的是字符緩衝輸出流,BufferedWriter,具體如下:java.io.BufferedWriter extends Writer
  • 如何使用JAVA反射/JAVA反射實例
    null ;  // 指定泛型  try{   // 以下的操作形式是在開發中最常用的一種形式   c1 = Class.forName("com.test.instancedemo.X") ;  }catch(ClassNotFoundException e){   e.printStackTrace() ;  }  c2 = new X().getClass() ;  // 通過Object類中的方法實例化
  • (提高Java代碼質量)|25個優化Java代碼的小技巧
    此外,由於某些方法要求參數在執行期間保持不變,因此將集合傳遞給自身可能會導致異常行為。反例:4.集合初始化儘量指定大小java 的集合類用起來十分方便,但是看源碼可知,集合也是有大小限制的。反例:正例:16.工具類應該屏蔽構造函數工具類是一堆靜態欄位和函數的集合,不應該被實例化。但是, Java 為每個沒有明確定義構造函數的類添加了一個隱式公有構造函數。
  • 反射——Java高級開發必須懂得
    描述:創建一個工具類名稱為ClassUtil,並且有一個靜態方法,參數為Object類型參數,首先獲取該對象的類類型,這裡使用第二種獲取方式,傳遞的是哪個對象,Class對象就是該對象類類型(這個功能是由native聲明的一個方法實現的,java中jni就是做本地方法的,該方法是由java來聲明,用C語言來實現),萬事萬物皆對象,方法同樣是對象
  • EffectiveJava-3-類和接口
    不提供任何修改對象狀態的方法2. 保證類不會被擴展:用final修飾或將所有構造方法私有化並提供公有的靜態工廠方法3. 使所有域都是final的(實際上只要沒有方法能夠對域產生外部可見的改變即可,如延遲初始化,懶漢單例等,都不能讓該域是final的)4. 使所有域都是私有的5.
  • JAVA反序列化—FastJson抗爭的一生
    ClassPool pool = ClassPool.getDefault;CtClass cc = pool.get(lala.class.getName); //要執行的最終命令String cmd = "java.lang.Runtime.getRuntime.exec(\"calc\");"; //之前說的靜態初始化塊和構造方法均可