網站首頁 編程語言 正文
File類的基本運用
- 前言
- 一、構造方法
- 二、基本使用
- 1.創建、刪除功能
- 2.判斷功能
- 3.獲取功能、修改文件名
- 4.獲取文件下所有文件、文件夾名字,獲取盤符
- 三、基本運用
- 1.查看所有文件
- 1.刪除所有文件
- 總結
前言
java基礎-文件類的使用
File:文件和目錄路徑名的抽象表示形式,File 類的實例是不可變的
- 構造方法:
- File的常用功能:
-
創建功能
-
刪除功能
-
獲取功能
-
判斷功能
-
修改文件名
一、構造方法
//File(String pathname) :將指定的路徑名轉換成一個File對象
File f = new File("D:\\a\\b.txt");
//File(String parent, String child) : 根據指定的父路徑和文件路徑創建File對象
File f2 = new File("D:\\a\\","b.txt");
//File(File parent, String child) :根據指定的父路徑對象和文件路徑創建File對象
File parent = new File("D:\\");
File f3 = new File(parent,"a\\b.txt");
二、基本使用
1.創建、刪除功能
創建功能
-
boolean createNewFile() //創建文件
-
boolean mkdir() //創建文件夾
-
boolean mkdirs() //創建文件夾,支持多層創建
刪除功能
-
boolean delete() //刪除文件、文件夾
-
絕對路徑:固定不可改變的路徑,以盤符開頭
-
相對路徑:相對某個參照物,不能以盤符開頭
-
在eclipse中相對路徑相對應當前項目的根目錄
-
注意:刪除一個文件夾,這個文件夾下面不能有其他的文件和文件夾
代碼如下(示例):
//File f = new File("d:\\a\\b.txt");//絕對路徑
File f2 = new File("a.txt");//相對路徑
//boolean createNewFile() : 當指定文件不存在時創建文件并返回true,否則返回false
System.out.println(f2.createNewFile());
//boolean mkdir() : 當指定文件夾不存在時創建文件夾并返回true,否則返回false
File f3 = new File("b");
System.out.println(f3.mkdir());
//boolean mkdirs() : 創建指定文件夾,當文件夾所在的目錄不存在,則順道一塊創建了
File f4 = new File("a\\b\\f");
//System.out.println(f4.mkdir()); //多層目錄支持創建
System.out.println(f4.mkdirs()); //支持單層、多層目錄創建
File f5 = new File("c.txt");
System.out.println(f5.mkdir()); //創建的是目錄
//boolean delete() :當指定的文件或文件夾存在時刪除文件或者文件夾 并返回true,否則返回false
//System.out.println(f2.delete());
System.out.println(f5.delete());
//File f6 = new File("c");
//System.out.println(f6.delete());
2.判斷功能
代碼如下(示例):
File f = new File("b.txt");
//boolean exists() : 判斷文件或者文件夾是否存在,如果存在則返回true,否則返回false
System.out.println(f.exists());
//File f = new File("a.txt");
File f2 = new File("a\\b.txt");
//boolean isAbsolute() :判斷File對象指向的路徑是否是絕對路徑,如果是絕對路徑則返回true,否則返回false
System.out.println(f2.isAbsolute());
File f = new File("a.txt");
File f2 = new File("b.txt");
//boolean isDirectory() :判斷File對象指向的路徑是否是文件夾,如果是則返回true,否則返回false
//boolean isFile() : 判斷File對象指向的路徑是否是文件,如果是則返回true,否則返回false
//System.out.println(f.isDirectory());
//System.out.println(f2.isDirectory());
System.out.println(f.isFile());
System.out.println(f2.isFile());
File f = new File("d:\\a\\c.txt");
//boolean isHidden() :判斷File對象指向的路徑是否有隱藏屬性,如果隱藏了則返回true,否則返回false
System.out.println(f.isHidden());
3.獲取功能、修改文件名
代碼如下(示例):
File f = new File("d:\\a\\b.txt");
File f2 = new File("a.txt");
//File getAbsoluteFile() :以File對象的形式返回當前File對象所有指向的絕對路徑
System.out.println(f2.getAbsoluteFile());
//String getAbsolutePath() : 返回File對象所指向的絕對路徑
System.out.println(f2.getAbsolutePath());
File parent = new File("b");
File f3 = new File(parent,"c.txt");
if(!parent.exists()) {
parent.mkdirs();
}
System.out.println(f3.createNewFile());
//String getParent() 返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回 null
System.out.println(f3.getParent());
//File getParentFile() 返回此抽象路徑名父目錄的抽象路徑名;如果此路徑名沒有指定父目錄,則返回 null。
System.out.println(f3.getParentFile());
File f = new File("a.txt");
File f2 = new File("d:\\a\\b.txt");
File f3 = new File("b");
//String getName() : 獲取文件和文件夾的名稱
System.out.println(f.getName());
System.out.println(f2.getName());
System.out.println(f3.getName());
//String getPath() : 返回創建File對象時給的路徑
System.out.println(f.getPath());
System.out.println(f2.getPath());
System.out.println(f3.getPath());
//long lastModified() : 以毫秒值的形式返回最后修改時間
System.out.println(f.lastModified());
//2514023311294
Date d = new Date(f.lastModified());
System.out.println(d.toLocaleString());
//long length() : 返回文件的字節數
System.out.println(f.length());
File f4 = new File("b\\c.txt");
System.out.println(f4.length());
//修改文件名字
File f = new File("f.txt");
File f2 = new File("b.txt");
//boolean renameTo(File dest) : 將當前File對象所指向的路徑 修改為 指定File所指向的路徑
//注意:修改的文件路徑不能存在,如果存在則修改失敗
System.out.println(f.renameTo(f2));
4.獲取文件下所有文件、文件夾名字,獲取盤符
重要的獲取功能
- String[] list() //獲取當前文件下的所有文件、文件夾名字
- File[] listFiles() //獲取當前文件下的所有文件、文件夾名字(帶路徑)
- static File[] listRoots() //獲取電腦的所有盤符
File f = new File("b");
File f2 = new File("D:\\qycache");
File f3 = new File("b.txt");
//String[] list() : 返回當前路徑下所有的文件和文件夾名稱
//注意:只有指向文件夾的File對象才可以調用該方法
String[] files = f2.list();
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
File f = new File("b");
File f2 = new File("D:\\qycache");
File f3 = new File("c.txt");
//File[] listFiles()
File[] files = f2.listFiles();
for (File file : files) {
System.out.println(file.getName()); //因為獲取的是帶路徑的,所以使用getName()
}
//static File[] listRoots() : 返回的是所有盤符
File[] files = File.listRoots();
for (File file : files) {
System.out.println(file);
}
三、基本運用
1.查看所有文件
private static void method(File file) {
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f:files){
//判斷是否文件對象
if(f.isFile()){
if(f.getName().endsWith(".java")){
System.out.println(f.getName());
}
}else if(file.isDirectory()){
method(f);
}
}
}
}
1.刪除所有文件
if(f.isDirectory()){
//刪除自己的所有子文件和子目錄
//獲取所有的子文件和子目錄
File[] files = f.listFiles();
for(File f1 : files ){
if (f1.isFile()){
// 直接刪除
System.out.println(f1.getName());
f1.delete();
}else if(f1.isDirectory()){
//繼續查看是否還有文件和子目錄
method(f1);
}
}
//刪除自己
System.out.println(f.getName());
f.delete();
}
總結
File:文件和目錄路徑名的抽象表示形式,File 類的實例是不可變的
講了File的構造函數、File的常用功能:創建功能、刪除功能、獲取功能、判斷功能、修改文件名、獲取文件下所有文件、文件夾名字,獲取盤符以及基本的運用查找、刪除。
原文鏈接:https://blog.csdn.net/weixin_44804207/article/details/125716722
相關推薦
- 2022-09-24 一文詳解go?mod依賴管理詳情_Golang
- 2022-01-30 visibilitychange事件在移動端開發的使用
- 2022-04-15 Android開發Jetpack組件Room用例講解_Android
- 2021-12-12 Docker?Consul概述以及集群環境搭建步驟(圖文詳解)_docker
- 2022-08-18 KubeSphere分級管理實踐及解析_云其它
- 2022-07-06 ELK收集Nginx日志的項目實戰_nginx
- 2022-08-03 python判定文件目錄是否存在及創建多層目錄_python
- 2022-09-21 python?Flask框架之HTTP請求詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支