<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java文件讀取。(單字節(jié)讀取和按行讀取讀取)

    java中很多關(guān)于文件讀取的工作。
    操作也很平凡。
    所以java的文件讀取是很重要的一部分。
    首先是單字節(jié)的讀取工作。
    見(jiàn)源代碼:

     1package ReadFile;
     2
     3import java.io.FileReader;
     4import java.io.IOException;
     5
     6public class readFile {
     7    public static void readfile(String file){
     8        try{
     9            FileReader fr = new FileReader(file);
    10            int ch = 0;
    11            while((ch=fr.read())!=-1){
    12                System.out.println((char)ch);
    13            }

    14        }
    catch(IOException e){
    15            e.printStackTrace();
    16        }

    17    }

    18    public static void main(String[] args) {
    19        readfile("e:\\dd.txt");
    20    }

    21}

    這里是但讀取每個(gè)自己或字符。
    如果要進(jìn)行按行讀取的話,必須采用BufferedReader  BufferedReader中的readline();
     1package ReadLime;
     2
     3import java.io.BufferedReader;
     4import java.io.BufferedWriter;
     5import java.io.FileReader;
     6import java.io.FileWriter;
     7import java.io.IOException;
     8
     9public class readLine {
    10    public static void readline(String file,String writerfile){
    11        try{
    12        FileReader fr = new FileReader(file);
    13        BufferedReader br = new BufferedReader(fr);
    14        
    15        FileWriter fw = new FileWriter(writerfile); //寫(xiě)文件操作,把得到的file對(duì)應(yīng)的文件中內(nèi)容寫(xiě)入,writerfile中去。
    16        BufferedWriter bw = new BufferedWriter(fw);
    17        String readoneline;
    18        int l;
    19        while((l = br.read()) != -1){
    20            readoneline = br.readLine();
    21            bw.write(readoneline);
    22            bw.newLine();
    23            System.out.println(readoneline);
    24        }

    25        bw.flush();
    26        br.close();
    27        bw.close();
    28        br.close();
    29        fw.close();
    30        fr.close();
    31        }
    catch(IOException e){
    32            e.printStackTrace();
    33        }

    34    }

    35    public static void main(String [] args){
    36        readline("e:\\dd.txt","e:\\aa.txt");
    37    }

    38}

    posted on 2008-10-06 14:50 duduli 閱讀(32483) 評(píng)論(12)  編輯  收藏 所屬分類: java

    評(píng)論

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 15:16 隔葉黃鶯

    再簡(jiǎn)單也比不過(guò) groovy 的這一行代碼

    text = new File("foo.txt").getText();   回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 16:23 van

    @隔葉黃鶯

    PHP,Python,Rudy都可以這么簡(jiǎn)單..

    這樣沒(méi)啥可比性..

    學(xué)Java的新手依然比學(xué)其他語(yǔ)言的新手多.

    So從這個(gè)角度來(lái)講,博主的文章還是更具價(jià)值的.:-)  回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 19:00 隔葉黃鶯

    第一段代碼應(yīng)使用字節(jié)緩沖,不然效率會(huì)低很多,緩沖的大小可適應(yīng)實(shí)際來(lái)調(diào)整

    第二段代碼,不需要逐層 close(),這里的實(shí)現(xiàn)都是裝飾模式,外層 close() 時(shí)會(huì)調(diào)用內(nèi)層對(duì)象的 close() 方法。  回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 19:37 duduli

    想從基礎(chǔ)學(xué)起,呵呵 @隔葉黃鶯
      回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 19:37 duduli

    這個(gè)我也知道,但是并沒(méi)過(guò)多的考慮。@隔葉黃鶯
      回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 19:56 隔葉黃鶯

    你都知道呀,就當(dāng)我什么也沒(méi)說(shuō)。  回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-10-06 20:22 duduli

    也不能那樣說(shuō)啦,至少還是有缺陷的。謝了@隔葉黃鶯
      回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2008-12-09 16:37 fofo

    行讀取時(shí)貌似代碼有問(wèn)題
    while((l = br.read()) != -1){
    readoneline = br.readLine();
    System.out.println(readoneline);
    }


    改為:
    String readoneline;
    while ((readoneline = br.readLine()) != null) {
    System.out.println(readoneline);
    }
    可以正確讀出  回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2010-08-06 16:15 董澤榛

    同意你的看法@fofo
      回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2011-11-30 11:58 alexyang

    行讀取時(shí)貌似代碼有問(wèn)題
    while((l = br.read()) != -1){
    readoneline = br.readLine();
    System.out.println(readoneline);
    }


    改為:
    String readoneline;
    while ((readoneline = br.readLine()) != null) {
    System.out.println(readoneline);
    }
    可以正確讀出
    -------------------------------------
    以上兩種寫(xiě)法都有問(wèn)題。
    第一種會(huì)丟失每行第一個(gè)字符,
    第二種會(huì)丟失第一行。  回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取) 2011-11-30 12:12 alexyang

    抱歉,上面弄錯(cuò)了,
    while ((readoneline = br.readLine()) != null) {
    readoneline = new String(readoneline.getBytes(), "UTF8");

    之前寫(xiě)成了

    while ((readoneline = br.readLine()) != null) {
    readoneline = new String(br.readLine().getBytes(), "UTF8");

    br.readLine()又讀了一行。
      回復(fù)  更多評(píng)論   

    # re: java文件讀取。(單字節(jié)讀取和按行讀取讀取)[未登錄](méi) 2012-05-14 16:01 Erica

    就是啊,原本的錯(cuò)誤會(huì)把每行第一個(gè)字符給去掉了@fofo
      回復(fù)  更多評(píng)論   

    <2008年10月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    welcome to my place.

    常用鏈接

    留言簿(5)

    我參與的團(tuán)隊(duì)

    隨筆分類

    隨筆檔案

    新聞分類

    石頭JAVA擺地?cái)們?/h3>

    搜索

    •  

    積分與排名

    • 積分 - 257430
    • 排名 - 220

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    @duduli
    主站蜘蛛池模板: 免费观看国产精品| 一级一级一级毛片免费毛片| 亚洲免费人成在线视频观看| 女人毛片a级大学毛片免费| 免费国产叼嘿视频大全网站| 精品久久久久久亚洲中文字幕 | 亚洲美女免费视频| 亚洲欧洲精品成人久久奇米网| 99精品全国免费观看视频 | 精品国产亚洲一区二区在线观看| 欧美男同gv免费网站观看| 久久成人免费播放网站| 成人免费观看男女羞羞视频| 亚洲日韩av无码中文| 亚洲男女一区二区三区| 久久精品国产亚洲| 亚洲精品成人片在线观看| 日韩一区二区在线免费观看| 国产精品视频免费观看| 无码囯产精品一区二区免费| 你是我的城池营垒免费观看完整版| 看成年女人免费午夜视频| 国产亚洲精品bv在线观看| 亚洲人成综合在线播放| 精品亚洲aⅴ在线观看| 亚洲av无码成人黄网站在线观看| 亚洲成?v人片天堂网无码| 国产一区二区视频免费| 免费视频中文字幕| 好男人视频社区精品免费| 成人毛片免费播放| 成年女人免费视频播放体验区| 黄瓜视频影院在线观看免费| 成人免费激情视频| 亚洲国产精品免费观看| 色老头永久免费网站| 亚洲视频免费在线看| 免费精品国产自产拍在| 国产99视频精品免费观看7| 亚洲免费综合色在线视频| 中文毛片无遮挡高潮免费|