java學習筆記IO之File類

来源:http://www.cnblogs.com/xuzhaocai/archive/2017/12/17/8053922.html
-Advertisement-
Play Games

File類總結 File類概述 Java.io.File類 文件和目錄路徑名的抽象表示形式。 把電腦中的文件和文件夾(目錄)封裝成了一個File對象,通過File對象中的方法可以操作文件和文件夾; 是一個與系統無關的類,任意的操作系統都可以使用這個類中的方法操作文件和文件夾 3個File類有關的單詞 ...


File類總結

File類概述

  Java.io.File

    文件和目錄路徑名的抽象表示形式。

    把電腦中的文件和文件夾(目錄)封裝成了一個File對象,通過File對象中的方法可以操作文件和文件夾;

    是一個與系統無關的類,任意的操作系統都可以使用這個類中的方法操作文件和文件夾

  3個File類有關的單詞:

  file:文件

  directory:文件夾,目錄

  path:路徑

File類的四個靜態變數
static  String  pathSeparator 與系統有關的路徑分隔符;

  static  char  pathSeparatorChar  與系統有關的路徑分割符;

路徑分割符在unix系統中是“:”,在window系統中是“;”

  static  String  separator  與系統有關的預設名稱分隔符。

  staitc  char   separator  與系統有關的預設名稱分隔符。

文件分割符在unix系統中是“/”,在window系統中是“\”

File類的構造方法:

  File(String pathname); 通過給定路徑字元串轉換為抽象路徑名來創建一個新的File實例。

    String  pathname:路徑的名稱 

    可以是文件的路徑,也可以是一個文件夾的路徑

    可以是相對路徑,也可以是絕對路徑

    可以是存在的路徑,也可以是不存在的。構造方法只是把字元串格式的路徑轉換為對象,和路徑是否存在無關

  File(String parent, String child); 根據parent路徑名稱字元串和child路徑名稱字元串創建一個新的File對象;把路徑分成兩部分,父路徑和子路徑

  • 好處:
  • 使用起來更加的靈活,子路徑和父路徑可以傳遞不同的路徑,組成File對象
  • 註意:路徑是不區分大小寫的

  File(File parent, String child); 根據parent抽象路徑名和child 路徑名字元串創建一 個新的File對象

  • 好處:
  • 父路徑使用的File類型, 可以調用File類中的方法操作這個路徑

File類的創建和刪除功能

  boolean createNewFile()創建文件

  • 創建的文件的路徑和文件名稱,在構造方法中給出
  • 返回值:boolean
  • true:創建成功
  • false:文件已經存在,不再創建
  • 註意:構造方法中給出的文件路徑必須存在,否則會拋出異常

  boolean mkdir() 創建單級文件夾

  boolean mkdirs()創建多級文件夾

  • 只能創建文件夾,不能創建文件
  • 返回值:
    true:創建成功

        false:文件夾已經存在

  • 註意:構造方法中給出的文件路徑必須存在,否則會拋出異常

  boolean delete()刪除此抽象路徑名錶示的文件或目錄

  • 返回值:
  • true:刪除成功
  • false:文件/文件夾不存在
  • 註意:此方法刪除不走回收站,直接在硬碟刪除

File類的判斷方法:

  boolean  isFile(); 判斷是文件嗎

  boolean  isDirectory(); 判斷封裝的路徑是不是文件夾

  boolean  exists(); 判斷File構造方法封裝的路徑是否存在

File類的獲取方法:

  File  getAbsoluteFile();返回此抽象路徑名的絕對路徑名形式 

  String  getAbsolutePath();返回抽象路徑名的絕對路徑名字元串

  String  getName();獲取路徑中最後部分的名字

  String  getPath();獲取構造方法中的路徑,把路徑轉換為字元串

  String  getParent();  返回String對象

  File   getParentFile();返回File對象 。獲取父路徑,返回的是文件末尾的父路徑

   long  length();返迴路徑中表示的文件路徑的位元組數,文件夾沒有大小

File類的遍歷目錄的功能

  • 1.String[]  list();獲取目錄中的每一個文件/文件夾的名字,並且存到String數組中
  • 2.File[]  listFiles() 獲取目錄中的每一個文件/文件夾的File對象,並且存到File數組中
  • 註意:
  • 構造方法中傳遞的目錄必須存在,否則就會拋出空指針異常
  • 構造方法中傳遞的必須是目錄,不能是文件,只能遍歷目錄,否則就會拋出空指針異常
  • 這個方法可以獲取隱藏文件或者隱藏文件夾
  • static  File[]  listRoots(); 列出全部的跟目錄

遞歸

遞歸:

  方法自己調用自己;

  作用:當調用方法的時候,方法的主體不變,但是每次調用方法的參數改變,就可以使用遞歸

  遞歸分為兩種:直接遞歸和間接遞歸

  直接遞歸:方法自己調用自己

  間接遞歸:可以是A調用B,B再調用A

   註意:

    1. 遞歸一定要有條件限定,保證遞歸能夠停下來,否則發生棧記憶體溢出
    2. 在遞歸中雖然有限定條件,但是遞歸次數不能太多,否則也會發生棧記憶體溢出
    3. 構造方法,禁止遞歸,編譯報錯
  1.   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • php7從推出到現在,前兩天官方已經發佈到7.2版本,把自己升級和安裝php7中遇到的問題和解決方法做一個筆記,內容主要包括:1) mysql2) php3) nginx4) memcache擴展5) redis擴展 由於內容很長,會分為多篇文章來講述,當然你可能遇到比我更多的問題需要解決,因為我們 ...
  • 指能夠被內置函數`next`調用並不斷返回下一個值,直到最後拋出`StopIteration`錯誤表示無法繼續返回下一個值的對象稱為迭代器(`Iterator`) ...
  • 1002. 寫出這個數 (20) 讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。 輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1空格,但一行中最後一個拼音數字後沒有空格。 輸 ...
  • 你們單位在國外搞了個伺服器,立足於美利堅,受美國法律保護。用來存放你懂的資源,以圖片和電影為主。最近流量非常可觀,為了更好的服務客戶,改善用戶體驗。 你們老闆決定增加一個投票區,用戶可以給自己喜愛的作品投票,每個月評出最喜愛作品,並且從用戶中挑選3名用戶作為獲獎用戶,獎品為蒼老師簽名寫真集。這還不簡 ...
  • 一 python的一些語言規範 再寫腳本的時候我們會寫以上的“註釋行”先來看看它們的意思。 1:調用usr/bin/下的python解釋器去解釋執行你寫的python腳本; 2:系統會自己去找系統中的解釋器去執行; 3:告訴系統編碼方式;(下麵再講其它的編碼方式) 當然,linux系統下預設是安裝了 ...
  • Exchanger,併發工具類,線程協作,用於線程間的數據交換。 ...
  • 1. Python的集合 1.1 集合的定義 在Python中, 集合set是基本數據類型的一種集合類型,它有可變集合(set())和不可變集合(frozenset)兩種。Python中的集合set類似列表,但每個元素都必須時獨一無二的,無序的。 集合set是無序的、不重覆的,是可變的,有add() ...
  • windows下執行 scrapy 的指定的時候出現錯誤, 最初出現錯誤 提示沒有pywin32 那麼就去安裝了一個pywin32 然後pip安裝 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32 但是問題來了,當我安裝完對應版本的pywin32 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...