day22 io

1.概念

  • 程序需要持久保存到設(shè)備硬盤時候用到
  • output input io操作

2.file

  • 包括文件夾,文件和路徑,Java中file類和平臺(操作系統(tǒng))無關(guān)
  • \是window盤符,/是linux盤符
  • 將文件(file),目錄(文件夾director),路徑(path)封裝成file對象
  • 有靜態(tài)方法char類和String類,用法均一樣,返回值不一樣
File.pathSeparator是路徑分隔符(;)
File.separator是目錄分隔符
以上均跟隨系統(tǒng)自動變換window中是";"和"\"
Linux中是":"和"/"
想做系統(tǒng)無關(guān)性則不能寫死需要用到以上兩個靜態(tài)

3.構(gòu)造方法

new File("c:\\abc\\demo.java");
new File("c:\\abc");
/*
-可寫到具體文件名也可以寫道文件夾
-是雙斜線,否則單斜線是轉(zhuǎn)義含義
-window下不區(qū)分大小寫,linux會區(qū)分大小寫
-tostring重寫過顯示是file內(nèi)path
-此處不會關(guān)心是否真實路徑,方法exist()來判斷路徑是否存在
-絕對路徑整個系統(tǒng)唯一
-相對路徑是指相對關(guān)系,有一個參考點(某個文件夾)
-同一目錄下都是平級
*/

new File("c:","abc");傳入父路徑和子路徑,靈活性更高
new File(new File("c:"),"abc");父路徑是一個file對象

4.創(chuàng)建刪除

boolean a=new File("C:\\Users\\fengbo\\Desktop\\aaaaa").createNewFile();
文件已存在則不創(chuàng)建返回false,此方法不能創(chuàng)建文件夾
    boolean a=new File("C:\\Users\\fengbo\\Desktop\\aaaaa").mkdir()創(chuàng)建文件夾
mkdirs()則會創(chuàng)建多級文件夾,也能創(chuàng)建單個,推薦使用
------------
delete()刪除文件或文件夾
直接硬盤刪除不會去回收站
不存在或打開狀態(tài)刪除失敗

5.獲取功能

file.getName()
不管存不存在僅負責(zé)獲取文件創(chuàng)建時候最后文件或文件夾名稱
file.getPath();和tostring一樣獲取全路徑
long length()獲取文件字節(jié)但不能獲得文件夾大小
string getAbsolutePath()獲得絕對路徑  file  getAbsoluteFile()
eclipse下寫相對路徑默認是工程根目錄
file.getParent()和file.getParentFIle()獲得父路徑,返回值不一樣

6.判斷

boolean exists()路徑下文件是否存在
boolean isfile和isDirectory()在判斷之前確定exists

7.獲取

string[] list(),file[] listfiles()
返回數(shù)組字符串的話按字母來排
靜態(tài)方法 File.listRoots()返回根目錄數(shù)組

8.過濾器

import java.io.File;
import java.io.FileFilter;


public class MyFilter implements FileFilter {

    @Override
    public boolean accept(File pathname) {
        if (pathname.isDirectory()) {
            return true;
        }
        
        return pathname.getName().toLowerCase().endsWith(".java");
endswith會區(qū)分大小寫
    }

}
過濾器沒給出可用對象,需要自己繼承filefileter實現(xiàn)
作用是獲取符合條件文件文件夾
-------------------------------
public  static void getFile1(File file)
{

    File[] filelist=file.listFiles(new MyFilter());
    for (File filelistarr:filelist) {
        if (filelistarr.isDirectory()) {
            getFile1(filelistarr);
        }else {
            System.out.println(filelistarr);
            
        }
    }
}
listFiles會自動調(diào)用自定義myfilter中的accept重寫方法,
并將全路徑傳給accept中參數(shù)pathname,
accept收到pathname進行判斷,真則返回file,假則不返回
-----------------------------
遞歸:自己調(diào)用自己
適用于方法不變,方法參數(shù)改變
注意:遞歸一定要要出口,次數(shù)不能多,5000次左右就會算不出數(shù)值
遞歸速度慢,是不停方法進棧然后等最盡頭算出依次返回
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內(nèi)容