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!
推薦閱讀:
- java.io.File的renameTo方法移動文件失敗的解決方案
- Java常用數據流全面大梳理
- 一文帶你掌握Java8中Lambda表達式 函數式接口及方法構造器數組的引用
- Java IO流之原理分類與節點流文件操作詳解
- 帶你瞭解Java的類和對象