Tôi đã sử dụng một đoạn mã cụ thể để xóa tệp khỏi một thư mục nhưng nó đang tỏ ra rất có vấn đề vì có thể tôi đã quên đóng một InputStream hoặc hai. Mã tôi có quá lớn đến mức tôi không thể thấy tất cả các Inputstream mà tôi chưa đóng. Có cách xóa tệp cho dù có một InputStream mở hay không?Buộc xóa tất cả các tệp khỏi một thư mục
Đây là đoạn mã tôi đang sử dụng;
File fin = new File("C:/ABC Statements final/");
File[] finlist = fin.listFiles();
for (int n = 0; n < finlist.length; n++) {
if (finlist[n].isFile()) {
System.gc();
Thread.sleep(2000);
finlist[n].delete();
}
}
Tôi đã chỉnh sửa mã. Phiên bản này hoạt động.
tôi muốn đề nghị rằng câu trả lời ngắn gọn là không. Bạn nên chăm sóc bạn tốt hơn. – MadProgrammer
Sau đó, tôi nên nói rằng tôi đã đi qua mỗi Inpustream Có trong mã và tôi đã đóng toàn bộ rất nhiều trong số họ Nhưng tôi vẫn có cùng một lỗi – ErrorNotFoundException
2 suy nghĩ. Một số, một số nơi đang nắm giữ một tập tin mở &/hoặc có một vấn đề cấp phép – MadProgrammer