日期:2014-05-20  浏览次数:20849 次

关于BufferedWriter类的write方法
我查了下APIBufferedWriter类是没有String Write(String s)这个方法的,但是为什么我对文件里输出时用字符串做参数能够正确输出呢?
代码如下:
Java code

import java.io.*;
public class Faq
{
    public static void main(String[] args)
    {
        BufferedReader br=null;
        BufferedWriter bw=null;
        try
        {
            
            br=new BufferedReader (new FileReader("f:\\java\\hao.txt"));
            bw=new BufferedWriter(new FileWriter("f:\\java\\iver99.txt"));
            String s=null;
            while((s=br.readLine()) !=null)
            {
                System.out.print(s);
                bw.write(s);                 //这里  s是个字符串
            }
            System.out.println();
        }
        catch(FileNotFoundException e)
        {
            System.out.println("file not found");
            e.printStackTrace();
        }
        catch(IOException e)
        {
            System.out.println("file error1");
            e.printStackTrace();
        }
        finally
        {
            try
            {
                br.close();
                bw.close();
                
            }
            catch(IOException e)
            {
                System.out.println("file error2");
                e.printStackTrace();
            
            }
        }
    }
}
                

运行完后我打开iver99。txt发现能够正确写入,为什么呢?


------解决方案--------------------
因为BufferedWriter 的父类“java.io.Writer”有write(String str) 方法
------解决方案--------------------
这是,继承来的方法。
------解决方案--------------------
子类继承父类。建议可以看看源码。