IO流-文件的常用方法

1.關于java.io.File類

- File類只能表示計算機中的文件或目錄而不能獲取或操作文件

????????- 通過File類獲得到文件的基本信息,如文件名、大小等,但不能獲取文件內容

????????- java中表示文件路徑分隔符使用"/"或"\\"

- File類中的構造方法

????????- File("E:/abc/abc.txt"):根據文件或目錄的具體路徑創建一個文件對象

????????- File("E:\\學習筆記\\Java筆記","Mysql.md"):根據父目錄和文件名創建一個文件對象

????????- File類的常用方法 - File.separator:路徑分隔符,該分隔符會根據不同的操作系統使用不同的分隔符,具有跨平臺性

????????- boolean file.exists():檢測文件或目錄是否存在,如果存在返回true,如果不存在返回false

???????? - String file.getName():獲得文件名

? ? ? ? ?- String file.getAbsolutePath():獲得文件的絕對路徑

? ? ? ? ?- long file.length():獲得文件的大小,返回字節單位

? ? ? ? ?- boolean file.setReadOnly():設置文件為只讀

? ? ? ? ?- boolean file.setWritable(true):設置文件為可寫入

? ? ? ? ?- boolean file.createNewFile():創建文件,該方法只能創建文件,不能創建目錄,如果目錄不存在則報錯

? ? ? ? ?- boolean file.delete():刪除指定文件或目錄,如果中存在內容,則不可刪除

???????? - boolean file.mkdir():創建目錄,該方法只能創建一級目錄,不能創建多級目錄 - boolean file.mkdirs():創建多級目錄

????????- boolean file.isFile():檢測是否為文件,如果是返回true否則返回false

????????- boolean file.isDirectory():檢測是否為目錄,如果是返回true如果不是返回false

????????- String[] file.list():獲得目錄中的直接子文件或子目錄名,返回包含這些名稱的字符串數組

????????- File[] file.listFiles():獲得目錄中所有子文件對象或子目錄對象

????????- File[] File.listRoots():獲得磁盤中的所有盤符
- File[] file.listFiles(FilenameFilter filenameFilter):遍歷目錄中的所有子文件,并設置文件名過濾條件,將符合條件的文件獲得

2.實例

package 文件File;import java.io.File;public class FileDemo1 {public static void main(String[] args) {/*** 創建一個文件對象("e:/io測試文件.txt")* File類中常用的構造方法*  1.根據文件的絕對路徑創建一個File對象*      File(String filePath)*/File file=new File("E:\\學習筆記\\Java筆記\\javaSE.md");System.out.println(file);//檢測File對應的文件是否存在if (file.exists()){System.out.println("文件存在");//獲取文件名String fileName=file.getName();System.out.println(fileName);//獲得文件的絕對路徑String filePath=file.getAbsolutePath();System.out.println(filePath);//獲取文件大小、以字節為單位long length = file.length();System.out.println(length);double fileSize=length/1024.0;System.out.println("KB大小:"+fileSize);//設置文件為只讀文件/* boolean isReadOnly = file.setReadOnly();System.out.println(isReadOnly);*/file.setWritable(true);}else {System.out.println("文件不存在");}}
}
package 文件File;import java.io.File;
import java.io.IOException;public class FileDemo2 {public static void main(String[] args) throws IOException {File file=new File("E:\\學習筆記\\Java筆記\\redmw.txt");if (file.exists()){//存在System.out.println("文件存在,文件名為:");System.out.print(file.getName());System.out.println("開始刪除文件.....");boolean isOk = file.delete();System.out.println(isOk?"文件刪除成功":"文件刪除失敗");}else {//不存在System.out.println("文件不存在,開始創建文件....");//創建文件,該方法只能創建文件,不能創建目錄,如果目錄不存在則報錯boolean isOK = file.createNewFile();System.out.println(isOK?"文件創建成功":"文件創建失敗");}}
}
package 文件File;import java.io.File;
import java.io.IOException;public class FileDemo3 {public static void main(String[] args) throws IOException {File file=new File("e:/jiazhong/xian/java");if (file.exists()){System.out.println("目錄存在");boolean isOk = file.delete();System.out.println(isOk?"目錄刪除成功":"目錄刪除失敗");}else {System.out.println("目錄不存在");//不存在,創建文件/*boolean isOk = file.createNewFile();System.out.println(isOk?"文件創建成功":"文件創建失敗");*///創建目錄boolean isOk = file.mkdirs();System.out.println(isOk?"目錄創建成功":"目錄創建失敗");}}
}
package 文件File;import java.io.File;public class FileDemo4 {public static void main(String[] args) {File file=new File("e:"+File.separator+"jiazhong");//檢測file對應的文件是文件還是目錄if (file.isFile()){System.out.println("是文件");}else {System.out.println("不是文件");if (file.isDirectory()){System.out.println("是目錄");}else {System.out.println("不是目錄");}}}
}
package 文件File;import java.io.File;public class FileDemo5 {public static void main(String[] args) {File file=new File("E:\\學習筆記");//獲得目錄中所有子目錄或文件的文件名String[] subFileNames=file.list();for (String fileName:subFileNames){System.out.println(fileName);}System.out.println("========================");//獲得目錄中所有的子文件對象或子目錄對象File[] subFiles = file.listFiles();for (File subFile:file.listFiles()){System.out.println(subFile);}}
}
package 文件File;import java.io.File;public class FileDemo6 {public static void main(String[] args) {File file=new File("E:\\學習筆記\\Java筆記","Mysql.md");if (file.exists()){System.out.println("文件存在");}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91642.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91642.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91642.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AUTOSAR進階圖解==>AUTOSAR_SRS_E2E

AUTOSAR E2E通信保護解析 AUTOSAR End-to-End通信保護機制詳解與應用目錄 概述 1.1. AUTOSAR E2E通信保護的作用 1.2. E2E通信保護的應用場景AUTOSAR E2E架構 2.1. E2E組件層次結構 2.2. E2E庫和E2E轉換器E2E監控狀態機 3.1. 狀態定義與轉換 3.2. 狀態機實現E2E保護數據交換流…

鏡像快速部署ollama+python+ai

算力租賃入口:https://www.jygpu.com為大家提供以上鏡像快速部署方式,節約大家環境部署時間一鍵部署的便捷性傳統自建GPU服務器需要經歷復雜的硬件采購、驅動安裝、環境配置等繁瑣步驟,而現代??GPU租賃價格對比??顯示,容器化平…

使用Gemini API開發領域智能聊天機器人的思路

以下是使用 Gemini API 開發軟件自動化測試專家領域專屬智能聊天機器人的詳細思路及具體實現過程: 階段一:基礎準備與規劃 (Foundation & Planning) 這個階段的目標是明確方向、準備好所有必要的工具和憑證。 步驟 1:明確聊天機器人的目…

第13屆藍橋杯Python青少組_省賽_中/高級組_2022年4月17日真題

更多內容請查看網站:【試卷中心 -----> 藍橋杯----> Python----> 省賽】 網站鏈接 青少年軟件編程歷年真題模擬題實時更新 第13屆藍橋杯Python青少組_省賽_中/高級組_2022年4月17日真題 一、選擇題 第 1 題 下列二進制數中最大的是( &a…

sqli-labs:Less-17關卡詳細解析

1. 思路🚀 本關的SQL語句為: $sql"SELECT username, password FROM users WHERE username $uname LIMIT 0,1"; $update"UPDATE users SET password $passwd WHERE username$row1";注入類型:字符串型(單引號…

文心一言:推動 AIGC 領域進步

文心一言:推動AIGC領域進步 關鍵詞:文心一言、AIGC、自然語言處理、多模態生成、大模型、技術架構、應用場景 摘要:本文深入剖析百度文心一言在AIGC(人工智能生成內容)領域的技術創新與實踐成果。通過解析其核心技術架構、多模態生成原理、工程化落地策略及行業應用案例,…

第15講——微分方程

文章目錄思維導圖基本概念微分方程及其階思維導圖 基本概念 微分方程及其階

RAGFlow Agent 知識檢索節點源碼解析:從粗排到精排的完整流程

RAGFlow Agent 知識檢索節點深度解析:從查詢到重排序的完整流程 1. 總體架構概覽 RAGFlow Agent 中的知識檢索(Retrieval)節點是整個RAG系統的核心組件,負責從知識庫中找到與用戶查詢最相關的文檔片段。檢索流程可以分為以下幾個…

Python算法實戰:從排序到B+樹全解析

Python中常見的算法示例 以下是Python中常見的算法示例,涵蓋基礎算法和經典問題解決方案,代碼可直接運行: 排序算法 冒泡排序 def bubble_sort(arr):n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr…

【C++算法】85.BFS解決最短路徑問題_最小基因變化

文章目錄題目鏈接:題目描述:解法C 算法代碼:題目鏈接: 433. 最小基因變化 題目描述: 解法 先看懂題目 先把這個問題轉化:圖論問題 邊權為1的最短路問題。 為什么可以這么想?! 因為每…

基于單片機汽車少兒安全預警系統

文章目錄一、前言1.1 項目介紹【1】項目開發背景【2】設計實現的功能【3】項目硬件模塊組成【4】設計意義【5】市面上同類產品研究現狀【6】摘要1.2 設計思路1.3 系統功能總結1.4 開發工具的選擇【1】設備端開發【2】上位機開發1.5 模塊的技術詳情介紹1.6 框架圖框架圖說明&…

Mac 上配置jdk 環境變量

核心步驟是設置 JAVA_HOME 變量,并將其 bin 目錄添加到系統的 PATH 變量中。 macOS 從 Catalina (10.15) 版本開始,默認的終端 Shell 從 bash 切換到了 zsh。因此,你需要先確定你正在使用的 Shell,然后編輯對應的配置文件。步驟一…

硬件-音頻學習DAY1——音箱材料選擇:密度板為何完勝實木

每日更新教程,評論區答疑解惑,小白也能變大神!" 目錄 一.音箱材料選擇的關鍵因素 二.密度板的聲學優勢 三.材料穩定性的對比 四.生產工藝的適應性 五.成本與環保的平衡 六.特殊場景的例外情況 七.消費者選購指南 八.行業發展趨勢…

微波(Microwave)與毫米波(Millimeter wave)簡介

一、電磁波頻段劃分,微波與毫米波所屬 二、微波 可以看出UHF及以上的頻段都可以統稱為微波。記得之前上微波技術實驗課的時候會接觸比巴掌還大的金屬波導,后來每次看到微波技術的時候都還是感到陌生。今天突然想到,不像在手機里就能完成的5G頻…

ObjectMapper教程

ObjectMapper 簡介ObjectMapper 是 Jackson 庫的核心類,用于 Java 對象與 JSON 數據之間的相互轉換。它支持序列化(對象轉 JSON)和反序列化(JSON 轉對象),廣泛應用于 REST API、數據存儲和配置處理等場景。…

【Node.js安裝注意事項】-安裝路徑不能有空格

問題描述:在項目中使用 nodemon時,出現了nodemon 啟動問題:nodemon : 無法將“nodemon”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。解決辦法:在網上找了很多教程,試了很多辦法,什么重新配置環境…

Shader開發(六)什么是著色器

在前面的章節中,我們簡要提到了著色器的概念,現在有了渲染管線的基礎知識,我們可以更深入地理解著色器的真正含義。著色器(Shader)是運行在圖形處理單元(GPU)上的專用程序,這與我們日…

操作系統-lecture4(進程的調度)

進程的切換 接下來需要了解兩個問題 誰觸發了進程切換進程切換的動作 中斷技術 中斷源 中斷處理過程(陷阱機制) 特權指令和非特權指令 Privileged Instructions:特權指令 ?The Instructions that can run only in Kernel Mode are called…

機器人程序優化

機器人程序優化核心摘要 本視頻詳細講解了機器人程序優化的方法與實踐,旨在提高程序的可讀性和復用性。通過學習文件夾、子程序調用以及路點優化等核心概念,觀眾將掌握如何將復雜的機器人搬運程序進行結構化整理,使其更易于理解、調試和在不…

一套視頻快速入門并精通PostgreSQL

PostgreSQL從入門到精通系列PostgreSQL數據庫是一個對理論知識與操作能力并重的技術,想要快速入門PostgreSQL數據庫,這兩個方面都要重視。這里的PostgreSQL從入門到精通,是專門針對剛入門的新手小白而錄制的一套,有理論講解也有動…