JAVA从键盘输入信息,然后保存至文件text.txt中, 求指点

//从键盘输入内容至文件;
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));//读键盘输入
FileWriter fout=new FileWriter("text.txt",true);
String str="";
while((str=stdin.readLine())!="\n")
{
System.out.println(str);
fout.write(str);
}
fout.close();

//结果:显示
Exception in thread "main" java.io.FileNotFoundException: text1.txt (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at java.io.FileReader.<init>(FileReader.java:58)
at test.main(test.java:14)

首先,为什么结果显示的是 text1.txt (拒绝访问)而你创建 FileWriter时用的是 text.txt

其次,while的条件有问题,String类型不能用 ==或者 !=来判断,要用 equals来判断。
错误的判断会导致程序走不到 close()方法,而你不调用 flush()方法内容就会留在缓冲区而写不到文件中,如果这时候你再次创建一个新的FileWirter来写这个文件,就会报拒绝访问的错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-13
如果在win下出现,那么你的文件是只读的,不允许写,如果是在linux下请检查文件权限。追问

WIN下,canWrite属性为True;

第2个回答  2013-05-14
要建立一个file的路径,然后写进去
相似回答