在Java WebService中写入文本文件

时间:2011-05-01 15:12:50

标签: java web-services

对于学校,我必须将网络服务作为练习的一部分。在这个程序中,我必须使用一个.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;
    }
}

1 个答案:

答案 0 :(得分:2)

添加

out.close();

之前return true;

documentation开始,close方法执行以下操作:

  

关闭流,先冲洗它。   流关闭后,   进一步的write()或flush()调用   将导致IOException   抛出。关闭之前关闭的   流没有效果。