为什么我不能删除这个文件?
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
也许您需要检查您是否具有删除该文件的正确权限(但如果您具有写入权限,您应该能够删除它)并且您正在删除您认为自己正在删除的文件删除
我正在尝试删除包含 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
也许您需要检查您是否具有删除该文件的正确权限(但如果您具有写入权限,您应该能够删除它)并且您正在删除您认为自己正在删除的文件删除