在Java中,每当我运行代码时,我的txt文件都会被删除

在Java中,每当我运行代码时,我的txt文件都会被删除,java,file-io,filewriter,Java,File Io,Filewriter,每当我运行代码时,inv.txt文件就从25行字符1变为零,有人能告诉我我做错了什么吗? PS主类包括inventory.addItem public class inventory { File inventory = new File("Resources/inv.txt"); File db = new File("Resources/db.txt"); FileWriter write; StringBuilder writethis; public void addItem(int

每当我运行代码时,inv.txt文件就从25行字符1变为零,有人能告诉我我做错了什么吗? PS主类包括inventory.addItem

 public class inventory {
File inventory = new File("Resources/inv.txt");
File db = new File("Resources/db.txt");
FileWriter write;
StringBuilder writethis;

public void addItem(int item, int slot){
    int i;
    Scanner scan = null;
    try {
        scan = new Scanner(inventory);
    } catch (FileNotFoundException e) {

        e.printStackTrace();
    }
    try {
        write = new FileWriter(inventory);
    } catch (IOException e) {

        e.printStackTrace();
    }
    for(i = 1; i < slot; i++)writethis.append(scan.nextLine());
    System.out.println(writethis.toString());
}
}
使用write=newfilewriteriventory,true


它会将数据附加到现有文件中。有关更多详细信息,请参阅FileWriter构造函数的文档。

不是这样,因为我不想将其追加,而且我甚至不想在代码中写入该文件。@drdaveher是的,但一旦它到达该行,就会清除该文件。不管它是否写在上面。@imtheman真的吗?谢谢我想在我读过文件后,我会把这部分代码放进去,等等。实际上,当你调用newfilewriteriventory时;将创建一个新的空文件。新FileWriterinventory,正确;将阻止您的程序创建新文件。您应该真正考虑使用新的API;例如,Files.newBufferedWriter。使用正确的选项,您将选择附加到文件,如果文件不存在,则创建文件,等等。丢弃旧文件API。Uhm,您在此处使用db的位置?@fge在这个方法中没有任何地方,我在另一个方法中使用它。