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!!!”这几个字符啊,但是程序没有读到,求解,怎么回事?
输出当然是null了,因为你在读取文件的时候当s等于null的退出循环,这时候s已经是null,如果你在循环中输出s那就不是null了
while当s为null时退出循环,在之后打印s当然是null了
做最后一次循环的时候s=null,所以循环退出了你再打印s只能是null了,你把 System.out.println(s);放到while循环里边就能看到s了