hello涩郎
2014-08-02 11:51
采纳率: 25%
浏览 2.0k
已采纳

JAVA代码问题,帮我看看

import java.io.*;
public class chuliliu{
public static void main(String[] args){
try{

           BufferedReader br=new BufferedReader(new FileReader("f:/test1.txt"));
           BufferedWriter bw=new BufferedWriter(new FileWriter("f:/test2.txt"));
           PrintWriter out=new PrintWriter(bw);
           String s;  
           while((s=br.readLine())!=null)  
        {  
            out.write(s);  



        }   

           out.flush();
           System.out.println(s);
           out.println(s);  
           br.close();
           bw.close();
          }catch (IOException e)  
           {  
        e.printStackTrace();  
           }

}
}

为什么运行后会输出null,也就是说s没有内容,但是我在f:/test1.txt这个文本里面写了“java!!!”这几个字符啊,但是程序没有读到,求解,怎么回事?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    输出当然是null了,因为你在读取文件的时候当s等于null的退出循环,这时候s已经是null,如果你在循环中输出s那就不是null了

    打赏 评论
  • 陆小瓴 2014-08-03 00:53

    while当s为null时退出循环,在之后打印s当然是null了

    打赏 评论
  • 哈哈书架 2014-08-12 02:28

    做最后一次循环的时候s=null,所以循环退出了你再打印s只能是null了,你把 System.out.println(s);放到while循环里边就能看到s了

    打赏 评论

相关推荐 更多相似问题