一.FILE類
1.概述
2.FILE類的靜态成員變量(可以通過類名直接通路)
3.絕對路徑和相對路徑
4.FILE類的構造方法
第一個構造方法FILE(string name)
第二種構造方法(string parent,string child)
第三種構造方法(file parent,string child)
5.FILE中的擷取方法
getAbsolute()方法:
getPath()方法(tostring方法調用的就是getpath方法) :
getName()方法:
lenth方法:
6.FILE中的判斷方法
exists()方法
7 建立以及删除檔案的方法
creatNewFile()方法:
mkdir和mkdirs方法:
delete方法:
7.周遊檔案功能
二.檔案的遞歸操作
1. 什麼是遞歸
注意:
例題:使用遞歸計算1-n的和
原了解析:(注意:if裡的return是傳回方法調用處)
2. 遞歸列印多級目錄
3.檔案搜尋
接上個例子的代碼
優化處理:
三.FileFilter過濾器的原理和使用
1.過濾篩選出目标檔案
篩選出java類型的檔案
實作類
可以使用匿名内部類以及lambda表達式進行優化,老師這裡講的有點亂,等看完後找時間操練一下
四.I/O流
1.基本概念
計算機中存儲内容均為位元組形式
2.位元組輸出流概念以及相關方法
寫入的時候會有建立檔案的功能
3.位元組輸出流寫入資料到檔案
從記憶體寫入硬碟
執行個體:在指定目錄下建立a.txt檔案并寫入97
注意:必須在建立對象的時候抛出IO異常
4.檔案的存儲原理
5.位元組流輸出多個位元組的方法
6.資料流的續寫和換行
例子:
7.位元組輸入流【Inputstream】從檔案中讀取資料
基本定義和使用
例子:建立語句省略
fis.read()會自動讀取下一個位元組
8.位元組輸入流一次讀取多個資料操作*
**
示例:檔案内為ABCDE
解析:
優化:
9.檔案複制
原理:
方法一:一個位元組一個位元組地讀寫(耗時)
優化方案:
五.字元輸入輸出流
輸入輸出是相對于記憶體而言,把記憶體裡的資料輸出(寫)到檔案中-output,把檔案中的資料輸入(讀)到記憶體–intput
解決讀取中文的問題
1.FileReader類—檔案輸入字元流(字元輸入流)
父類是reader 類
執行個體:
一次讀取單個字元
一次讀取多個字元
2.FileWriter-字元輸出流
父類是reader
定義:
示例:注意,此處出現了flush
3.flush方法和close方法的差別
flush重新整理後流可以繼續使用,close了之後流就不能再使用了
4.字元輸出流寫資料的其他方法
5.字元流的續寫和換行(與位元組相同)
5.trycatch處理流的異常情況
改進1:
改進2:
六.Path類(學校老師補充…)
方法詳解
p.getclass().getname();//輸出現在的作業系統
列印p的話會直接列印傳入的整個路徑
p.getRoot–>根目錄
七.Files工具類(在nio包下,學校老師講的)
删除檔案
*
*周遊删除指定檔案(不能直接删目錄)
周遊删除目錄(先删完檔案,最後才能删目錄 )
讀取檔案指定内容
八.基于Files的I/O流操作
1.從一個檔案中讀寫位元組到另一個檔案
把流寫入try語句内部可以自動關閉語句,不用再close了
but隻有支援自動關閉的接口實作類才能放try裡
read自動往後讀
、
2.按字元讀寫(基于位元組數組)
java9新特性transforto()
2.基于字元的讀寫
a.用inputstream
前提:從檔案中讀取的位元組可以基于新方法直接轉換為字元,但是不是所有的都可以轉換為字元。并且要聲明字元集類型(預設utf-8)
b。使用files方法