聯系博主          博客地圖
                     
                所天用到了java里的讀寫文件操作,查了一些資料,發現不論是讀文件還是寫文件都有三種不同的方式:我想請教各位高手三種方式各有什么優缺點,先謝謝各位了。
               讀操作三種方式:
               1 : BufferReader
               2 : FileReader
               3 : InputStreamReader

                寫文件得三種方式:
                1 :PrintWriter
                2 :FileWriter
                3 :OutputStreamWriter

                 以下是測試用得代碼:
          /***********************************************************
           *2007-9-17
           *Blw.beans
           *DManagement
           *MagicBlw
           **********************************************************
          */

          package test;

          import java.io.BufferedReader;
          import java.io.*;


          public class MakeJsp {

              
          /**
               * 
          @param args
               
          */

              
              
          //定義生產文件名稱
              private String name="moban";
              
          private String houzhui=".html";
              
              
          //定義所查看文件的路徑
              private String addresspath="d://2.html"
              
          private String addresspath1="D://top.html";
              
          private String neirong="姓名";
              
          public static void main(String[] args) {
                  
              MakeJsp w
          =new MakeJsp();
              w.getFile(); 
              }
           
              
          public void getFile()
              
          {
                  
                  File file1
          = new File(addresspath);

                  
                  
          //要寫進去的內容
                  String s ="000000000000000000000"+neirong;  
                  String s1
          ="111111111111111111111"+neirong;
                  String s2
          ="222222222222222222222"+neirong;
                  String s3
          ="<html><body>blw=="+neirong+"</body></html>";
                  PrintWriter pw
          =null;
                  BufferedReader br
          =null;
                  OutputStreamWriter ow
          =null;
                  FileWriter fw
          =null;
                  FileReader fr
          =null;
                  InputStreamReader isr 
          =null;
                  
                  
          try 
                      
          //創建文件
                      file1.createNewFile(); 
                      
                      
          /*
                       * 讀文件的三種方式:
                       
          */

                      
                      
          //讀文件方式一:
                      
                      br
          =new BufferedReader(new InputStreamReader(new FileInputStream(addresspath1)));
                      String data
          =null;
                      
          while((data=br.readLine())!=null
                      

                      
          //data=(new String(data.getBytes("ISO-8859-1"),"GB2312")).trim();
                      System.out.println(data);              
                      }


                      
                      
          //讀文件方式二:
                      
                      fr 
          = new FileReader(addresspath1);
                      
          int ch=0;
                      
          while((ch=fr.read())!=-1)
                      
          {   
                      
          //FileReader方式是通過讀取單個字符實現的 所以用 System.out.print
                      System.out.print((char)ch);        
                      }
           
                      
                      
                      
                      
          //讀文件方式三
                       isr = new InputStreamReader(new FileInputStream(addresspath1));
                       
          int ch1=0;
                       
          while((ch1=isr.read())!=-1)
                       
          {
                         
          //InputStreamReader方式是通過讀取單個字符實現的 所以用 System.out.print
                         System.out.print((char)ch1);
                       }
           
                        
                      
                      
                      
          /*
                       * java寫文件的三種方式
                       
          */

                      
                      
                      
          //方式一
                      pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(addresspath)),true);
                      pw.println(s);
                      
                      
                      
          //方式二:
                      fw =new FileWriter(addresspath);
                      fw.write(s1, 
          0, s1.length());
                      fw.flush();
                      
                      
          //方式三:
                      ow =new OutputStreamWriter(new FileOutputStream(addresspath));
                      ow.write(s3, 
          0, s3.length());
                      ow.flush();
                          
                      
                  }
           catch (IOException e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
            
                  
          finally
                  
          {   
                      
          //關閉資源
                      try {
                          pw.close(); 
                          br.close(); 
                          ow.close();
                          fw.close();
                          fr.close();
                          isr.close();
                      }
           catch (IOException e) {
                          
          // TODO Auto-generated catch block
                          System.out.println("關閉文件資源失敗");
                      }
            
                  }

                   
              }


          }



              核心: 勇敢進取年輕的心

           

          Feedback

          # re: java實現讀寫文件操作的三種不同方式  回復  更多評論   

          2007-09-18 15:20 by BeanSoft
          最底層的實現都是 OutputStreamWriter 和 InputStreamReader, 這三種都輸入文本輸入輸出流的部分. BufferReader 有緩沖區, 讀寫較快; 其它的沒有. PrintXXX 是能夠以行為單位進行讀寫處理.

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          Copyright © 怎么羨慕天空的飛鳥

          主站蜘蛛池模板: 上思县| 东光县| 洪洞县| 周至县| 怀柔区| 江阴市| 萨迦县| 石渠县| 旺苍县| 沙湾县| 台江县| 麟游县| 郁南县| 大厂| 营口市| 盐源县| 新津县| 剑川县| 衡阳市| 桂东县| 淮滨县| 淄博市| 宜春市| 鱼台县| 鹤岗市| 青阳县| 荃湾区| 蒲江县| 固镇县| 邮箱| 灵川县| 河间市| 龙泉市| 故城县| 巩义市| 星座| 溧阳市| 义乌市| 扶绥县| 江达县| 竹北市|