Java中的File類及其常用方法
File類是java.io包下代表與平臺無關的檔案和目錄,也就是說,如果希望在程式中操作檔案和目錄,都可以通過File類來完成。值得指出的是,不管是檔案還是目錄都是使用File來操作的,File能新建、刪除、重新命名檔案和目錄,File不能訪問檔案內容本身。如果需要訪問檔案內容本身,則需要使用輸入/輸出流。
File類可以使用檔案路徑字串來建立File實力,該檔案路徑字串既可以是絕對路徑,也可以是相對路徑。在預設情況下,系統總是依據使用者的工作路徑來解釋相對路徑,這個路徑由系統屬性"user.dir"指定,通常也就是執行Java虛擬機器時所在的路徑。
一旦建立File物件後,就可以呼叫File物件的方法來訪問,File類提供了很多方法來操作檔案和目錄,下面列出一些比較常用的方法。
1.訪問檔名相關的方法
String getName():返回此File物件所表示的檔名或路徑名(如果是路徑,則返回最後一級子路徑名)。
String getPath():返回此File物件所對應的路徑名。
File getAbsoluteFile():返回此File物件的絕對路徑。
String getAbsolutePath():返回此File物件所對應的絕對路徑名。
String getParent():返回此File物件所對應目錄(最後一級子目錄)的父目錄名。
boolean renameTo(File newName):重新命名此File物件所對應的檔案或目錄,如果重新命名成功,則返回true;否則返回false。
2.檔案檢測相關的方法
boolean exists():判斷File物件所對應的檔案或目錄是否存在。
boolean canWrite():判斷File物件所對應的檔案或目錄是否可寫。
boolean canRead():判斷File物件所對應的檔案和目錄是否可讀。
boolean isFile():判斷File物件所對應的是否是檔案,而不是目錄。
boolean isDirectory():判斷File物件所對應的是否是目錄,而不是檔案。
boolean isAbsolute():判斷File物件所對應的檔案或目錄是否是絕對路徑。該方法消除了不同平臺的差異,可以直接判斷File物件是否是絕對路徑。在UNIX/LINUX/BSD等系統上,如果路徑名開頭是一條斜線(/),則表明該File物件對應一個絕對路徑;在Windows等系統上,如果路徑名開頭是碟符,則說明它是一個絕對路徑。
3.獲取常規檔案資訊
long lastModified():返回檔案的最後修改時間。
long length():返回檔案內容的長度。
4.檔案操作相關的方法
boolean createNewFile():當此File物件所對應的檔案不存在時,該方法將新建一個該File物件所指定的新檔案,如果建立成功則返回true;否則返回false。boolean delete():刪除File物件所對應的檔案或路徑。
static File createTempFile(String prefix,String suffix):在預設的臨時檔案目錄中建立一個臨時檔案,使用給定字首、系統生成的隨機數和給定字尾作為檔名。這是一個靜態方法,可以直接通過File類來呼叫。prefix引數必須是3位元組長。建議字首使用一個短的、有意義的字串,比如“hjb”或“mail”。suffix引數可以為null,在這種情況下,將使用預設的字尾“.tmp”。
static File createTempFile(String prefix,String suffix,File directory):在directory所指定的目錄中建立一個臨時的空檔案,在使用給定字首、系統生成的隨機數和給定字尾作為檔名。這是一個靜態方法,可以直接通過File類來呼叫。
void deleteOnExit():註冊一個刪除鉤子,指定當Java虛擬機器退出時,刪除File物件所對應的檔案和目錄。
5.目錄操作相關的方法
boolean mkdir():試圖建立一個File物件所對應的目錄,如果建立成功,則返回true;否則返回false。呼叫該方法時File物件必須對應一個路徑,而不是一個檔案。 String[] list():列出File物件的所有子檔名和路徑名,返回String陣列。 File[] listFiles():列出File物件的所有子檔案和路勁返回File陣列。 static File[] listRoots():列出系統所有的根路徑,這是一個靜態方法,可以直接通過File類來呼叫。package io;
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
//以當前路徑來建立一個File物件
File file=new File(".");
//直接獲取檔名,輸出一點
System.out.println(file.getName());
//獲取相對路徑的父路徑可能會出錯,下面程式碼輸出null
System.out.println(file.getParent());
//獲取絕對路徑
System.out.println(file.getAbsolutePath());
//獲取上一級路徑
System.out.println(file.getAbsoluteFile().getParent());
//在當前路徑下建立一個臨時檔案
File temFile=File.createTempFile("aaa",".txt",file);
//指定JVM退出時刪除該檔案
temFile.deleteOnExit();
//以系統當前系統時間作為新檔名來建立新檔案
File newFile=new File(System.currentTimeMillis()+"");
System.out.println("newFile物件是否存在:"+newFile.exists());
//以指定newFile物件來建立一個檔案
newFile.createNewFile();
//以newFile物件來建立一個目錄,因為newFile已存在。
newFile.mkdir();
//使用list()方法來列出當前路徑下的所有檔案和路徑。
String[] fileList=file.list();
System.out.println("====當前路徑下所有檔案和路徑如下====");
for(String fileName:fileList){
System.out.println(fileName);
}
//listRoots()靜態方法列出所有的磁碟根路徑
File[] roots=File.listRoots();
System.out.println("====系統所有根路徑如下====");
for(File root:roots){
System.out.println(root);
}
}
}
相關推薦
java中File類的常用所有方法及其應用
建立: createNewFile()在指定位置建立一個空檔案,成功就返回true,如果已存在就不建立,然後返回false。 mkdir() 在指定位置建立一個單級資料夾。 mkdirs() 在指定位置建立一個多級資料夾。 renameTo(File dest)如果目標檔
Java中的File類及其常用方法
File類是java.io包下代表與平臺無關的檔案和目錄,也就是說,如果希望在程式中操作檔案和目錄,都可以通過File類來完成。值得指出的是,不管是檔案還是目錄都是使用File來操作的,File能新建、刪除、重新命名檔案和目錄,File不能訪問檔案內容本身。如果需要
Java中Math類的常用方法
order ref oat math dom ack ron 方法 args 8243 [java] view plain copy public class MathDemo { public static void main(
java中Vector類的常用方法
並不是 tps tle dex tar spa 有變 array sets Vector類是實現List接口,所以繼承的方法就不在這裏講了 https://www.cnblogs.com/xiaostudy/p/9503199.html public void add
Java中Calendar類的常用方法
Calendar 類常用方法的記錄: 獲取時間 // 使用預設時區和語言環境獲得一個日曆 Calendar cal = Calendar.getInstance(); // 賦值時年月日時分秒常用的6個值,注意月份下標從0開始,所以取
java中File類的使用方法
(轉載houfeng30920)http://blog.csdn.net/houfeng30920/article/details/5149685 建構函式 [html] view plain copy print? public class Fil
Java中Date類的常用方法
Date類 表示特定的瞬間,精確到毫秒(在java.util.Date包下)構造方法:public Date()表示分配它的時間(精確到毫秒)。public Date(long date):建立一個日期物件,指定毫秒值 (需要將long 時間毫秒值轉換成Dat
java中session物件及其常用方法
在jsp頁面中可以直接使用session物件,也可以通過pageContext.getSession()或request.getSession()方法重新獲取session物件。 session物件可以儲存使用者的登入資訊,實現購物車功能等。 HTTP協議是一種無狀態協議。客戶向伺服器發出請求requ
Java學習筆記--常用類及其常用方法介紹
object類 直接輸出一個物件的名稱,其實就是呼叫了該物件的toString()方法。 一般會重寫toString()方法,輸出成員變數的值。 物件名.getClass().getname()會得到類名。 equals()方法預設是比較兩個物件的地址是否相
Java--File 類的常用方法
File類: IO流可以對檔案的內容進行讀寫操作,在應用程式中還會經常對檔案本身進行一些常規操作,例如建立一個檔案,刪除或者重新命名某個檔案,判斷硬碟上某個檔案是否存在,查詢檔案最後修改時間等。 針
Java中Thread類不常用的一些方法
1.Thread.dumpStack() 該方法打印出當前執行緒棧的一些基本資訊,比如下面的一些資訊 java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Thread.java
java File類的常用方法
建立: createNewFile()在指定位置建立一個空檔案,成功就返回true,如果已存在就不建立,然後返回false。 mkdir() 在指定位置建立一個單級資料夾。 mkdirs() 在指定位置建立一個多級資料夾。 renameTo(File dest)如果目標檔
java中File類getPath()、getAbsolutePath()、getCanonicalPath()區別?
mil dir block user out div cnblogs test file 簡單看一下描述,例子最重要。 1、getPath(): 返回定義時的路徑,(就是你寫什麽路徑,他就返回什麽路徑) 2、getAbsolutePath(): 返回絕對路徑,但不會
常用類及其常用方法
sqrt 運行 compare float com n) 最大 pac util 1.String /* * String 的常用方法 * 1. String concat(String str) 將指定字符串連接到此字符串的結尾。 * 2. int length()
淺談JAVA中“增強”類的某個方法的幾個中方法!
exc 目標 byte 相同 nbsp 優點 method value oca 一、繼承 使用場景:能夠控制這個類的構造的時候,才可以使用繼承。 優點:簡單容易使用, 缺點:耦合性大大的增強,不利於後期的維護,所以對於繼承這種方法,謹慎使用。 代碼實現:二、裝飾者模式
javascript中Array類型常用方法
urn 字符 長度 splice ear 位置 調用 each 使用 方法總覽: instanceOf Array.isArray() toString() join() push() pop() shift() unshift() splice() concat() s
Java中,類及其組成所使用的常見修飾符
成員 name fin 常用 tro string prot 默認 abstract Java中,類及其組成所使用的常見修飾符 (1)修飾符的分類: 權限修飾符:private、默認、protected、public 狀態修飾符:static、fin
java中Map集合的常用方法
try con equals img all sem java 常用 strong Map集合和Collection集合的區別 Map集合是有Key和Value的,Collection集合是只有Value。 Collection集合底層也是有Key和Value,只是隱藏起來
java中HashMap集合的常用方法
tps one style 副本 .html map cnblogs inf clone public Object clone() 返回hashMap集合的副本 其余的方法都是實現Map集合的 https://www.cnblogs.com/xiaostudy/
java中抽象類和抽象方法到底什麽關系?請舉例說明!
init 舉例 web nds ike anti 聲明 use dont 抽象類和抽象方法什麽關系?抽象類中可能有抽象方法,也可能沒有抽象方法。(視頻下載) (全部書籍)那位說,就跟沒說一樣,那抽象類和抽象方法都叫抽象,他們必定有關系,那關系是什麽呢?如果一個類中有抽象方法