更新時(shí)間:2020-11-19 17:24:48 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1397次
IO流實(shí)際上就是對文件的輸入輸出,既然至始至終都離不開文件,所以Java IO流的使用得從File類講起。
一、File類的描述
File類是文件和目錄路徑名的抽象表示形式,主要用于文件和目錄的創(chuàng)建、查找和刪除等操作。即Java中把文件或者目錄(文件夾)都封裝成File對象。也就是說如果我們要去操作硬盤上的文件或者目錄只要?jiǎng)?chuàng)建File這個(gè)類即可。 不過要注意的是File類只是對文件的操作類,只能對文件本身進(jìn)行操作,不能對文件內(nèi)容進(jìn)行操作。
二、File類的構(gòu)造方法
new File(String path):根據(jù)路徑path把該文件(夾)封裝成一個(gè)對象。
new File(String parentPath,String childPath):根據(jù)兩個(gè)字符串的路徑,把該文件(夾)封裝成對象。這樣做的好處是可以靈活填寫路徑。
new File(File f,String path):根據(jù)文件對象f以及路徑path把對應(yīng)的文件(夾)封裝成對象。
三、File里面的字段(final類型):
1.與系統(tǒng)有關(guān)的默認(rèn)名稱分隔符
File.separator:String類型。Windows下是"",Linux下是"/"。
File.separatorChar:char類型。
2.與系統(tǒng)有關(guān)的路徑分隔符
File.pathSeparator: 此字符用于分隔以路徑列表形式給定的文件序列中的文件名,在 UNIX 系統(tǒng)上此字段為:,在 Microsoft Windows 系統(tǒng)上,它為;。
File.pathSeparatorChar:char類型。
四、File類的常用方法
1、獲取文件的相關(guān)信息:
String getAbsolutePath() :獲取絕對路徑名字符串。
String getName():獲取文件或目錄的名稱。
String getPath():獲取路徑名字符串。
String getParent() :獲取路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回 null。
Long lastModified():獲取最后一次修改的時(shí)間(返回毫秒)。
Long length():獲取文件的長度,如果表示目錄則返回值未指定。
以上方法測試的代碼如下【測試以自己的電腦文件夾為準(zhǔn)】:
package com.thr;
import java.io.File;
import java.io.IOException;
public class Demo1 {
public static void main(String[] args) {
//路徑帶文件
File f1 = new File("D:\\IO\\hello.txt");
System.out.println("文件絕對路徑:"+f1.getAbsolutePath());
System.out.println("文件名稱:"+f1.getName());
System.out.println("文件路徑(字符串):"+f1.getPath());
System.out.println("文件父路徑:"+f1.getParent());
System.out.println("文件最后修改時(shí)間(ms):"+f1.lastModified());
System.out.println("文件長度:"+f1.length());
System.out.println("------------");
//路徑不帶文件,純目錄
File f2 = new File("D:\\IO");
System.out.println("目錄絕對路徑:"+f2.getAbsolutePath());
System.out.println("目錄名稱:"+f2.getName());
System.out.println("目錄路徑(字符串):"+f2.getPath());
System.out.println("目錄父路徑:"+f2.getParent());
System.out.println("目錄最后修改時(shí)間(ms):"+f2.lastModified());
System.out.println("目錄長度:"+f2.length());
}
}
運(yùn)行結(jié)果:
文件絕對路徑:D:\IO\hello.txt
文件名稱:hello.txt
文件路徑(字符串):D:\IO\hello.txt
文件父路徑:D:\IO
文件最后修改時(shí)間(ms):1582207195168
文件長度:9
------------
目錄絕對路徑:D:\IO
目錄名稱:IO
目錄路徑(字符串):D:\IO
目錄父路徑:D:\
目錄最后修改時(shí)間(ms):1582206503515
目錄長度:0
注意:絕對路徑和相對路徑的區(qū)別
絕對路徑:是一個(gè)完整的路徑,以盤符開頭,例如 D://IO//hello.txt。
相對路徑:是相較于當(dāng)前路徑,不以盤符開頭,例如 //hello.txt。
2、判斷功能
Boolean isDirectory():判斷此路徑是否為一個(gè)目錄
Boolean isFile():判斷是否為一個(gè)文件
Boolean exists():判斷文件或目錄是否存在
Boolean canExecute():判斷文件是否可執(zhí)行
Boolean canRead():判斷文件是否可讀
Boolean canWrite():判斷文件是否可寫
Boolean isHidden():判斷是否為隱藏文件
3、新建和刪除
Boolean createNewFile():創(chuàng)建文件,如果文件存在則不創(chuàng)建,返回false,反之返回true。
Boolean mkdir():創(chuàng)建文件目錄。如果此文件目錄存在則不創(chuàng)建,如果此文件目錄的上層目錄不存在也不創(chuàng)建。
Boolean mkdirs(): 創(chuàng)建文件目錄。如果上層文件目錄不存在也會(huì)創(chuàng)建。
Boolean delete():刪除的文件或目錄。如果目錄下有文件或目錄則不會(huì)刪除。
4、文件的獲取:
String[] list():返回一個(gè)字符串?dāng)?shù)組,獲取指定目錄下的所有文件或者目錄名稱的數(shù)組。
File[] listFiles():返回一個(gè)抽象路徑名數(shù)組,獲取指定目錄下的所有文件或者目錄的File數(shù)組。
5、重命名文件:
Boolean renameTo(File dest):把文件重命名到指定路徑。
以上就是本文對IO流中的File類的全面講解,囊括了File類的大部分知識,當(dāng)然有一些很細(xì)節(jié)的東西還沒有講到,想深入學(xué)習(xí)的小伙伴可以觀看本站的Java基礎(chǔ)教程。
初級 202925
初級 203221
初級 202629
初級 203743