Java學習之File類理解

忘塵天外天發表於2017-08-01

File類是io包中唯一代表磁碟檔案本身的物件。File類定義了一些與平臺無關的方法來操作檔案,可以通過呼叫File類中的方法,實現建立、刪除、重新命名檔案等。File類的物件主要用來獲取檔案本身的一些資訊,如檔案所在目錄、檔案的長度、檔案讀寫許可權等。資料流可以將資料寫入到檔案中,而檔案也是資料流最常用的資料媒體。

1、檔案的建立與刪除

可以使用File類建立一個檔案物件,File類構造方法:

(1)File(String  pathname)

該構造方法通過將給定路徑名字字串轉換為抽象路徑來建立一個新File例項。

new  File(String pathname) 

pathname:是指路徑名(包含檔名)

File file = new  File("D:/test.txt")或者  File  file  =new  File("D:\\test.txt")

(2)File(String  parent ,String child)

該構造方法根據定義的父路徑和子路徑字串(包含檔名)建立一個新的File例項。

(3)File(File f ,String child)

該構造方法根據parent抽象路徑名和child路徑名字串建立一個新File例項。

使用File類建立一個檔案物件:File  file  =  new File("D:/myword","word.txt");

如果D:/myword目錄中沒有名稱為word的檔案,File類物件可通過呼叫createNewFile()方法建立一個名稱為word.txt的檔案;如果word.txt檔案存在,可以通過檔案物件的delete()方法將其刪除。

import java.io.File;
import java.io.IOException;

public class FileTest {
  public static void main(String[] args) {
  File file = new File("D:\\test","test6.txt");
    if(file.exists()){
    file.delete() ;
      System.out.println("檔案已刪除!");
  }else {
  try {
    file.createNewFile() ;
      System.out.println("檔案已建立!");
  } catch (IOException e) {

    e.printStackTrace();
      }
        }
    }
  }

2、獲取檔案資訊

File類提供了很多用於獲取檔案本身的一些資訊,常用方法:

File類常用方法
方法 描述
String   getName() 獲取檔案的名稱
boolean  canRead() 判斷檔案是否是可讀的
boolean  canWrite() 品判斷檔案是否可被寫入
boolean  exits() 判斷檔案長度是否存在
int  length() 獲取檔案的長度(以位元組為單位)
String  getAbsolutePath() 獲取檔案的絕對路徑
String  getParent() 獲取檔案的父路徑
boolean  isFile() 判斷此抽象路徑名錶示的檔案是否為普通檔案
boolean  isDirectory() 判斷此抽象路徑名錶示的是否是一個目錄
boolean  isHidden 判斷檔案是否是隱藏檔案
long  lastModified() 獲取檔案最後修改時間
Boolean  canExecute()
測試應用程式是否可以執行此抽象路徑名錶示的檔案。 
boolean  createNewFile() 當且僅當具有該名稱的檔案尚不存在時,原子地建立一個由該抽象路徑名命名的新的空檔案。
boolean  delete() 刪除由此抽象路徑名錶示的檔案或目錄。
File[]  listFiles()  返回一個抽象路徑名陣列,表示由該抽象路徑名錶示的目錄中的檔案。
String[]  list() 返回一個字串陣列,命名由此抽象路徑名錶示的目錄中的檔案和目錄。
boolean  mkdirs() 建立由此抽象路徑名命名的目錄,包括任何必需但不存在的父目錄。可建立多層檔案包
boolean  mkdir() 建立由此抽象路徑名命名的目錄。只能建立一層檔案包
boolean  reNameTo(File dest) 重新命名由此抽象路徑名錶示的檔案。
boolean  setReadOnly()
標記由此抽象路徑名命名的檔案或目錄,以便只允許讀取操作。 
boolean  setWritable(boolean  writable)
一種方便的方法來設定所有者對此抽象路徑名的寫入許可權。 

 

相關文章