Java對(duì)文件的讀寫和處理

對(duì)文件處理的java.io.File 以及對(duì)內(nèi)容讀取的 java.io.BufferedReader, 雖然了解, 但到具體操作時(shí)候其實(shí)還需要搜索, 借著工作中的一個(gè)需求, 現(xiàn)整理一下.

需求:

讀取某文件夾下所有以log結(jié)尾的文件, 并對(duì)每一個(gè)文件的每一行進(jìn)行處理, 文件處理完成后移動(dòng)到另一個(gè)文件夾中.

代碼

1.列出目錄下以.log結(jié)尾(或者其他結(jié)尾)的文件

    public static List<String> listFilenames(String path, String type) {
        List<String> fileList = new ArrayList<>();
        MyFilter filter = new MyFilter(type);
        String[] files = new File(path).list(filter);
        if (null != files)
            fileList = Arrays.asList(files);
        return fileList;
    }

    // 過濾定義
    static class MyFilter implements FilenameFilter {
        private String type;
        public MyFilter(String type) {
            this.type = type;
        }
        public boolean accept(File dir, String name) {
            return name.endsWith(type);
        }
    }

// 調(diào)用
類.listFilenames('/xx/xx','.log');

2. 讀取文件, 并按行處理

FileReader reader = new FileReader("./data/a.log");
BufferedReader br = new BufferedReader(reader);
while ((str = br.readLine()) != null) {
// str即每一行的數(shù)據(jù)
}
// 用完要關(guān)閉, 注意關(guān)閉順序
br.close();
reader.close();

3. 寫文件

FileWriter fw = null;
fw = new FileWriter("D:/cun.txt");
List list = Arrays.asList("1234", "fsdfsdf", "fsdfsdf");
for (String ele : list) {
    fw.write(ele + "\r\n");
}
fw.close();

4. 移動(dòng)文件(移動(dòng)到當(dāng)前目錄下的complete目錄)

    public static void renameFile(String path){
    File file = new File(path);
    File targetPath = new File(new File(path).getParent() + "/complete/");
    File targetFile = new File(targetPath.getPath() + "/" + file.getName());

    if (file.exists())
    {
        if (!targetPath.exists())
        {
            targetPath.mkdir();
        }
        file.renameTo(targetFile);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子室埋,更是在濱河造成了極大的恐慌泪酱,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞄桨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坷牛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來很澄,“玉大人京闰,你說我怎么就攤上這事颜及。” “怎么了蹂楣?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵俏站,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我痊土,道長(zhǎng)肄扎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任赁酝,我火速辦了婚禮反浓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赞哗。我一直安慰自己雷则,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布肪笋。 她就那樣靜靜地躺著月劈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪藤乙。 梳的紋絲不亂的頭發(fā)上猜揪,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音坛梁,去河邊找鬼而姐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛划咐,可吹牛的內(nèi)容都是我干的拴念。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼褐缠,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼政鼠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起队魏,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤公般,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胡桨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體官帘,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年昧谊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了刽虹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揽浙,死狀恐怖状婶,靈堂內(nèi)的尸體忽然破棺而出意敛,到底是詐尸還是另有隱情馅巷,我是刑警寧澤膛虫,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站钓猬,受9級(jí)特大地震影響稍刀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜敞曹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一账月、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧澳迫,春花似錦局齿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拢锹,卻和暖如春谣妻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卒稳。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工蹋半, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人充坑。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓减江,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捻爷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子您市,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)役衡,斷路器茵休,智...
    卡卡羅2017閱讀 134,601評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法手蝎,內(nèi)部類的語法榕莺,繼承相關(guān)的語法,異常的語法棵介,線程的語...
    子非魚_t_閱讀 31,587評(píng)論 18 399
  • 我好久沒有寫東西了钉鸯。 曾經(jīng)我很喜歡用筆記錄下什么。剛上大學(xué)的時(shí)候邮辽,我會(huì)每讀完一本書唠雕,就寫一篇讀書筆記贸营,每看完一場(chǎng)電...
    曲瀟閱讀 326評(píng)論 0 0
  • 將服務(wù)器文件下載到本地==============================================...
    丁橋人在外地閱讀 982評(píng)論 0 4
  • 今天終于看了《神奇動(dòng)物去哪里》,不由感嘆岩睁,魔法的世界可以天馬行空卻又內(nèi)在滿滿钞脂,足以見深藏原著作者以及編劇心中的人文...
    謝氏春秋閱讀 456評(píng)論 2 1