联系博主          博客地图
           
      所天用到了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 © 怎么羡慕天空的飞鸟