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

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

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

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

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

     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}

    這里是但讀取每個自己或字符。
    如果要進行按行讀取的話,必須采用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); //寫文件操作,把得到的file對應的文件中內容寫入,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 閱讀(32474) 評論(12)  編輯  收藏 所屬分類: java

    評論

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

    再簡單也比不過 groovy 的這一行代碼

    text = new File("foo.txt").getText();   回復  更多評論   

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

    @隔葉黃鶯

    PHP,Python,Rudy都可以這么簡單..

    這樣沒啥可比性..

    學Java的新手依然比學其他語言的新手多.

    So從這個角度來講,博主的文章還是更具價值的.:-)  回復  更多評論   

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

    第一段代碼應使用字節緩沖,不然效率會低很多,緩沖的大小可適應實際來調整

    第二段代碼,不需要逐層 close(),這里的實現都是裝飾模式,外層 close() 時會調用內層對象的 close() 方法。  回復  更多評論   

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

    想從基礎學起,呵呵 @隔葉黃鶯
      回復  更多評論   

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

    這個我也知道,但是并沒過多的考慮。@隔葉黃鶯
      回復  更多評論   

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

    你都知道呀,就當我什么也沒說。  回復  更多評論   

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

    也不能那樣說啦,至少還是有缺陷的。謝了@隔葉黃鶯
      回復  更多評論   

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

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


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

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

    同意你的看法@fofo
      回復  更多評論   

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

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


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

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

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

    之前寫成了

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

    br.readLine()又讀了一行。
      回復  更多評論   

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

    就是啊,原本的錯誤會把每行第一個字符給去掉了@fofo
      回復  更多評論   

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

    導航

    統計

    公告

    welcome to my place.

    常用鏈接

    留言簿(5)

    我參與的團隊

    隨筆分類

    隨筆檔案

    新聞分類

    石頭JAVA擺地攤兒

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    @duduli
    主站蜘蛛池模板: 亚洲日本成本人观看| 亚洲精品第一国产综合境外资源| h视频免费高清在线观看| 国产亚洲综合久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲AV色欲色欲WWW| 看亚洲a级一级毛片| 国产精品99爱免费视频| 日韩国产精品亚洲а∨天堂免| 亚洲国产夜色在线观看| 国产成人亚洲综合一区| 国产精品亚洲专区无码牛牛 | 亚洲中文字幕一二三四区苍井空| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 最近中文字幕2019高清免费| 24小时日本在线www免费的| 亚洲精品偷拍视频免费观看| 亚洲成a人片在线观看播放| CAOPORN国产精品免费视频| 亚洲中文无码永久免费| 亚洲AV无码一区二区三区DV | 激情五月亚洲色图| 一级毛片aaaaaa免费看| 91麻豆精品国产自产在线观看亚洲| 国产日本亚洲一区二区三区| 无码人妻精品中文字幕免费| 亚洲高清成人一区二区三区| 欧美激情综合亚洲一二区| 精品国产污污免费网站aⅴ| 国产精品亚洲片在线| 国产一二三四区乱码免费| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲伊人久久大香线蕉AV| 女人18一级毛片免费观看| 亚洲真人无码永久在线观看| 成人激情免费视频| 亚洲爆乳成av人在线视菜奈实| 日韩人妻无码免费视频一区二区三区 | 在线观看午夜亚洲一区| 免费成人在线电影| 亚洲w码欧洲s码免费|