我已经使用Spring Boot创建了Java Web应用程序。我正在使用文件而不是数据库进行存储(这是必需的)。我已经实现了同步概念,以防止文件同时写入多个文件。
我的示例代码如下:
读取文件:
public class ReadFile{
public Json readFile() {
BufferedReader br = new BufferedReader(
Files.newBufferedReader(Paths.get("sample.json")));
//Check for null json file
example = gson.fromJson(br, Json.class);
br.close();
}
}
父类:
public class ParentClass extends HttpServlet{
public ReadFile file= new ReadFile();
public Json example = file.readFile();
public synchronized void writeToFile(Json example){
//code for writing to file
}
}
}
儿童班1:
public ChildClass1 extends ParentClass {
public void doGet(){
//code to read example object
}
public synchronized saveContentstoFile(){
//do some changes to example object
writeToFile(example);
}
}
儿童班2:
public ChildClass2 extends ParentClass {
public void doGet(){
//code to read example object
}
public synchronized saveContentstoFile(){
//do some changes to example object
writeToFile(example);
}
}
在上述所有类中,我都使用“ example”作为共享对象,用于保存所有3个类之间的文件内容。
在有限的测试中,我还没有发现任何文件损坏问题。我是新来使用这个概念的人。任何人都可以发表评论,如果这是正确的方法,或者有任何未发现的问题?
如果不是,哪种方法可以最好地防止文件损坏?