Java文件操作之IO流 File類的使用詳解

File類概述

File類能新建、刪除、重命名文件和目錄,但不能訪問文件內容本身,如果需要訪問文件內容本身,則需要使用後續的輸入/輸出流。

要在Java程序中表示一個真實存在的文件或目錄,那麼必須有一個File對象,但是Java程序中的一個File對象,可能沒有一個真實存在的文件或目錄。

File對象可以作為參數傳遞給流的構造器。

常用構造器

①public File(String pathname)
以pathname為路徑創建File對象,可以是絕對路徑或者相對路徑,如果是相對路徑,則默認相對於當前project。

File file1 = new File("hello.txt"); //相對路徑
File file2 = new File("C:\\IDEA\\untitled\\file\\hi.txt"); //絕對路徑

②public File(String parent,String child)
以parent為父路徑,child為子路徑創建File對象。

File file3 = new File("C:\\IDEA\\untitled\\", "file");

③public File(File parent,String child)
根據一個父File對象和子文件路徑創建File對象

File file3 = new File("C:\\IDEA\\untitled\\", "file");
File file4 = new File(file3, "hi.txt");

常用方法

①File類的獲取功能
public String getAbsolutePath():獲取絕對路徑
public String getPath():獲取路徑
public String getName():獲取名稱
public String getParent():獲取上層文件目錄路徑,若無,返回null
public long length():獲取文件長度(即:字節數),不能獲取目錄的長度
public long lastModified():獲取最後一次的修改時間,毫秒值
public String[] list():獲取指定目錄下的所有文件或者文件目錄的名稱數組
public File[] listFiles():獲取指定目錄下的所有文件或文件目錄構成的數組

import java.io.File;

/**
 * @Author: Yeman
 * @Date: 2021-09-24-21:50
 * @Description:
 */
public class FileTest {
    public static void main(String[] args) {
        File file1 = new File("hello.txt");
        File file2 = new File("C:\\IDEA\\untitled\\file\\hi.txt");

        System.out.println(file1.getAbsolutePath());
        System.out.println(file1.getPath());
        System.out.println(file1.getName());
        System.out.println(file1.getParent());
        System.out.println(file1.length());
        System.out.println(file1.lastModified());

        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getPath());
        System.out.println(file2.getName());
        System.out.println(file2.getParent());
        System.out.println(file2.length());
        System.out.println(file2.lastModified());
    }
}

②File類的重命名功能
public boolean renameTo(File dest):把文件重命名為指定的文件路徑和文件名,相當於是把真實文件轉移並且重命名瞭

import java.io.File;

/**
 * @Author: Yeman
 * @Date: 2021-09-24-21:50
 * @Description:
 */
public class FileTest {
    public static void main(String[] args) {
        File file1 = new File("hello.txt"); //file1需要在硬盤中真實存在
        File file2 = new File("C:\\IDEA\\hi.txt"); //在硬盤中不存在file2
        boolean b = file1.renameTo(file2);
        System.out.println(b);
    }
}

③File類的判斷功能
硬盤中要真實存在才能做出真實判斷
public boolean isDirectory():判斷是否是文件目錄
public boolean isFile():判斷是否是文件
public boolean exists():判斷是否存在
public boolean canRead():判斷是否可讀
public boolean canWrite():判斷是否可寫
public boolean isHidden():判斷是否隱藏

④File類的創建功能
public boolean createNewFile():創建文件,若文件存在,則不創建,返回false
public boolean mkdir():創建文件目錄,如果此文件目錄存在,就不創建瞭,如果此文件目錄的上層目錄不存在,也不創建
public boolean mkdirs():創建文件目錄,如果上層文件目錄不存在,一並創建

⑤File類的刪除功能
public boolean delete():刪除文件或者文件夾
刪除註意事項:Java中的刪除不走回收站。要刪除一個文件目錄,請註意該文件目錄內不能包含文件或者文件目錄

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

/**
 * @Author: Yeman
 * @Date: 2021-09-24-21:50
 * @Description:
 */
public class FileTest {
    public static void main(String[] args) throws IOException {
        File file1 = new File("hello.txt");
        if (!file1.exists()){
        	//文件不存在,創建
            file1.createNewFile();
            System.out.println("創建成功");
        }else {
        	//文件存在,刪除
            file1.delete();
            System.out.println("刪除成功");
        }
    }
}

到此這篇關於Java文件操作之IO流 File類的使用詳解的文章就介紹到這瞭,更多相關Java file內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: