黑马程序员技术交流社区

标题: 程序编译失败问题 [打印本页]

作者: 吴涛    时间: 2014-3-6 21:07
标题: 程序编译失败问题
import java.io.*;

class PrintStreamDemo
{
        public static void main(String[] args)throws IOException
        {
                BufferedReader bufr =
                        new BufferedReader(new InputStreamReader(System.in));
                       
                //PrintWriter out = new PrintWriter(new File("a.txt"),true);
                PrintWriter out = new PrintWriter(new BufferedWriter(new File("a.txt")),true);
               
                String line = null;
               
                while((line=bufr.readLine())!=null)
                {
                        if("over".equals(line))
                                break;
                        //out.write(line.toUpperCase());
                        out.println(line.toUpperCase());//println   printf   format
                        //out.flush();
                }
               
                out.close();
                bufr.close();
        }
}


作者: 上官睿鹏    时间: 2014-3-6 21:43
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("a.txt")),true);改成这个就没问题了。
BufferedWriter(File file)没这个构造方法
作者: 夏的四季    时间: 2014-3-6 22:10
  1. import java.io.*;

  2. class PrintStreamDemo
  3. {
  4.         public static void main(String[] args)throws IOException
  5.         {
  6.                 BufferedReader bufr =new BufferedReader(new InputStreamReader(System.in));
  7.                 PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("a.txt")),true);
  8.                 String line = null;
  9.                
  10.                 while((line=bufr.readLine())!=null)
  11.                 {
  12.                         if("over".equals(line))
  13.                                 break;                     
  14.                         out.println(line.toUpperCase());
  15.                 }
  16.                
  17.                 out.close();
  18.                 bufr.close();
  19.         }
  20. }
复制代码



BufferedWriter的构造方法
BufferedWriter(Writer out)
          创建一个使用默认大小输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz)
          创建一个使用给定大小输出缓冲区的新缓冲字符输出流。


这块应该多查查API
作者: chenfc8578    时间: 2014-3-6 23:03
编译错误信息:PrintStreamDemo.java:11: 错误: 对于BufferedWriter(File), 找不到合适的构造器
                PrintWriter out = new PrintWriter(new BufferedWriter(new File("a
.txt")),true);

因为BufferReader构造只能接收Writer的子类,而File类则不是Writer的子类。
作者: chenfc8578    时间: 2014-3-6 23:05
是BufferWriter(上面写成BufferReader了)构造只能接收Writer的子类,而File类则不是Writer的子类。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2