问题描述
|
对于学校,我必须将网络服务作为练习的一部分。在此程序中,我必须使用.txt文件作为数据库。当我使用BufferedWriter时,它表示信息已成功写入文件。但是文件仍然没有改变。从文件读取进展顺利。提前致谢!
代码:
@WebService
public class Vak {
@WebMethod
public boolean addLesson(String lessonname,double mark){
if(!lessonname.equals(\"\") || !(mark == 0.00)){
try{
FileInputStream fis = new FileInputStream(\"C:/marks.txt\");
DataInputStream in = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null){
String [] splitted = strLine.split(\" \");
if(splitted[0].equalsIgnoreCase(lessonname)){
System.out.println(\"Lesson already exists\");
return false;
}
}
BufferedWriter out = new BufferedWriter(new FileWriter(\"C:/marks.txt\",true));
out.newLine();
out.write(lessonname + \" \" + mark);
return true;
}
catch(Exception e){
System.out.println(\"Exception \" + e);
return false;
}
}
return false;
}
}
解决方法
加
out.close();
在你return true;
之前
从文档中,close
方法执行以下操作:
关闭流,先冲洗。
流关闭后,
进一步的write()或flush()调用
将导致IOException被
抛出。关闭先前关闭的
流没有效果。