为什么我不能删除这个文件?

Why can't I delete this file?

我正在尝试删除包含 20 个字符的文件。我已经查看了与此相关的每一个 Stack Overflow 问题,但没有任何答案有效。我到处都看过,但没有任何效果。 File.delete(); 对我不起作用。它写入一个文件,每次按下按钮时,它都会向其中添加一个“1”。如果有20个1,则需要删除文件。

示例代码:

String fileName1 = "data1.txt";
try {
    FileWriter fw = new FileWriter(fileName1, true);
    try (BufferedWriter bw = new BufferedWriter(fw)) {
        bw.write("1");
        bw.close();
    } catch (IOException ex) {
        Logger.getLogger(StudentRandomizerJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }
} catch (IOException ex) {
    Logger.getLogger(StudentRandomizerJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
try {
    Scanner scanner = new Scanner(new FileReader("data1.txt"));
    String scannerData1 = scanner.nextLine();
    if (scannerData1.equals("11111111111111111111")) {
        //In here is where its supposed to delete the file.
    }
} catch (FileNotFoundException ex) {
    Logger.getLogger(StudentRandomizerJFrame.class.getName()).log(Level.SEVERE, null, ex);
}

似乎对我来说没问题...

for (int index = 0; index < 50; index++) {
    String fileName1 = "data1.txt";

    try (BufferedWriter bw = new BufferedWriter(new FileWriter(fileName1, true))) {
        bw.write("1");
    } catch (IOException ex) {
        ex.printStackTrace();
    }

    boolean deleteMe = false;
    try (Scanner scanner = new Scanner(new FileReader("data1.txt"))) {
        String scannerData1 = scanner.nextLine();

        if (scannerData1.length() >= 20) {
            deleteMe = true;
        }
    } catch (IOException ex) {
        ex.printStackTrace();
    }

    if (deleteMe) {
        File file = new File(fileName1);
        if (!file.delete()) {
            System.out.println("!! Could not delete " + file);
        } else {
            System.out.println(file + " was deleted");
        }
        System.out.println(file + " exists = " + file.exists());
    }
}

版画

data1.txt was deleted
data1.txt exists = false
data1.txt was deleted
data1.txt exists = false

也许您需要检查您是否具有删除该文件的正确权限(但如果您具有写入权限,您应该能够删除它)并且您正在删除您认为自己正在删除的文件删除