四十七纫版、commons-IO

一、commons-IO概述

Commons IO是針對(duì)開發(fā)IO流功能的工具類庫(kù)客情,必須導(dǎo)入第三方j(luò)ar包才能使用其弊。

主要包括六個(gè)區(qū)域:

  • 工具類——使用靜態(tài)方法執(zhí)行共同任務(wù)

  • 輸入——用于InputStream和Reader實(shí)現(xiàn)

  • 輸出——用于OutputStream和Writer實(shí)現(xiàn)

  • 過濾器——各種文件過濾器實(shí)現(xiàn)

  • 比較器——各種文件的java.util.Comparator實(shí)現(xiàn)

  • 文件監(jiān)聽器——監(jiān)聽文件系統(tǒng)事件的組件

二癞己、FilenameUtils

這個(gè)工具類是用來處理文件名(譯者注:包含文件路徑)的,他可以輕松解決不同操作系統(tǒng)文件名稱規(guī)范不同的問題梭伐。
常用方法:

  • getExtension(String path):獲取文件的擴(kuò)展名痹雅;
  • getName():獲取文件名;
  • isExtension(String fileName,String ext):判斷fileName是否是ext后綴名糊识;

三绩社、FileUtils

提供文件操作(移動(dòng)文件,讀取文件赂苗,檢查文件是否存在等等)的方法愉耙。
常用方法:

  • readFileToString(File file):讀取文件內(nèi)容,并返回一個(gè)String拌滋;
  • writeStringToFile(File file朴沿,String content):將內(nèi)容content寫入到file中;
  • copyDirectoryToDirectory(File srcDir,File destDir);文件夾復(fù)制
  • copyFile(File srcFile, File destFile): 文件復(fù)制

實(shí)例:文件復(fù)制

  • 普通方式
/*
 * 普通方式败砂,完成文件的復(fù)制
 */
public class CommonsIODemo01 {
    public static void main(String[] args) throws IOException {
        //method1("D:\\test.avi", "D:\\copy.avi");
        
        //通過Commons-IO完成了文件復(fù)制的功能
        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));
    }

    //文件的復(fù)制
    private static void method1(String src, String dest) throws IOException {
        //1,指定數(shù)據(jù)源 
        BufferedInputStream in = new BufferedInputStream(new FileInputStream(src));
        //2,指定目的地
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dest));
        //3悯仙,讀
        byte[] buffer = new byte[1024];
        int len = -1;
        while ( (len = in.read(buffer)) != -1) {
            //4,寫
            out.write(buffer, 0, len);
        }
        //5,關(guān)閉流
        in.close();
        out.close();
    }
}
  • commons-io完成文件吠卷、文件夾的復(fù)制
/*
 * 使用commons-io完成文件锡垄、文件夾的復(fù)制
 */
public class CommonsIODemo02 {
    public static void main(String[] args) throws IOException {
        //通過Commons-IO完成了文件復(fù)制的功能
        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));
        
        //通過Commons-IO完成了文件夾復(fù)制的功能
        //D:\基礎(chǔ)班 復(fù)制到 C:\\abc文件夾下
        FileUtils.copyDirectoryToDirectory(new File("D:\\基礎(chǔ)班"), new File("C:\\abc"));
    }
}

三、IOUtils

IOUtils包含處理讀祭隔、寫和復(fù)制的工具方法货岭。方法對(duì)InputStream、OutputStream疾渴、Reader和Writer起作用千贯。

實(shí)例:從一個(gè)URL讀取字節(jié)的任務(wù),并且打印它們:

  • 普通方式
InputStream in = new URL( "http://commons.apache.org"   ).openStream();
  try {
     InputStreamReader inR = new InputStreamReader( in );
     BufferedReader buf = new BufferedReader( inR );
     String line;
     while ( ( line = buf.readLine() ) != null ) {
       System.out.println( line );
     }
  } finally {
     in.close();
  }
  • 使用IOUtils
InputStream in = new URL( "http://commons.apache.org" ).openStream();
 try {
    System.out.println(IOUtils.toString(in));
 } finally {
    IOUtils.closeQuietly(in);
 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搞坝,一起剝皮案震驚了整個(gè)濱河市搔谴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桩撮,老刑警劉巖敦第,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異店量,居然都是意外死亡芜果,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門融师,熙熙樓的掌柜王于貴愁眉苦臉地迎上來右钾,“玉大人,你說我怎么就攤上這事∫ㄉ洌” “怎么了窘茁?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)脆烟。 經(jīng)常有香客問我稠炬,道長(zhǎng)走越,這世上最難降的妖魔是什么桑腮? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任洽损,我火速辦了婚禮吴攒,結(jié)果婚禮上张抄,老公的妹妹穿的比我還像新娘。我一直安慰自己洼怔,他們只是感情好署惯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著镣隶,像睡著了一般极谊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上安岂,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天轻猖,我揣著相機(jī)與錄音,去河邊找鬼域那。 笑死咙边,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的次员。 我是一名探鬼主播败许,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼淑蔚!你這毒婦竟也來了市殷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤刹衫,失蹤者是張志新(化名)和其女友劉穎醋寝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體带迟,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甥桂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了邮旷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黄选。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出办陷,到底是詐尸還是另有隱情貌夕,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布民镜,位于F島的核電站啡专,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏制圈。R本人自食惡果不足惜们童,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鲸鹦。 院中可真熱鬧慧库,春花似錦、人聲如沸馋嗜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)葛菇。三九已至甘磨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間眯停,已是汗流浹背济舆。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莺债,地道東北人吗冤。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像九府,于是被迫代替她去往敵國(guó)和親椎瘟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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

  • 概述 java.io 包幾乎包含了所有操作輸入侄旬、輸出需要的類肺蔚。所有這些流類代表了輸入源和輸出目標(biāo)。java.io ...
    Steven1997閱讀 9,194評(píng)論 1 25
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理儡羔,服務(wù)發(fā)現(xiàn)宣羊,斷路器,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 先創(chuàng)建服務(wù)端的APP 1.官網(wǎng)下載Winrun4j苛坚。http://winrun4j.sourceforge.net...
    Alex_1799閱讀 1,726評(píng)論 1 2
  • 心情并不好比被,因?yàn)槟愣亲油磪s沒有跟我說,單純的我以為只是累到而已泼舱,這樣不是你對(duì)自己的不負(fù)責(zé)等缀,也是對(duì)我的不負(fù)責(zé)。于是...
    da558f1265b7閱讀 157評(píng)論 0 1
  • 我在夜里醒來做夢(mèng) 夜里的我比白日里清醒百倍 那里有我的小世界 荒誕也好 悲痛也好 擔(dān)憂也好 哭笑不得也好 一切都那...
    布利lovely閱讀 191評(píng)論 0 0