聯系博主          博客地圖
                     
                所天用到了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 © 怎么羨慕天空的飛鳥

          主站蜘蛛池模板: 双鸭山市| 邢台市| 略阳县| 扎囊县| 巴林左旗| 叙永县| 邛崃市| 南丹县| 巫山县| 无棣县| 赣榆县| 肃北| 景洪市| 安图县| 侯马市| 安乡县| 阳高县| 日喀则市| 开封县| 同心县| 望江县| 巢湖市| 巴中市| 绥化市| 阳春市| 祁连县| 锡林浩特市| 唐海县| 卓资县| 绥化市| 长兴县| 涿鹿县| 崇礼县| 莫力| 江川县| 汶川县| 信丰县| 二连浩特市| 巴林右旗| 怀仁县| 石泉县|