sách gpt4 ai đã đi

file.delete() trả về false mặc dù file.exists(), file.canRead(), file.canWrite(), file.canExecute() đều trả về true

In lại Tác giả: IT Lao Gao Thời gian cập nhật: 2023-10-28 11:37:27 31 4
mua khóa gpt4 Nike

Tôi đang cố gắng sử dụng Dòng đầu ra của tệp Xóa tệp sau khi ghi nội dung vào đó. Đây là đoạn mã tôi dùng để viết:

private void writeContent(Tệp file, String fileContent) {
FileOutputStream tới;
thử {
đến = new FileOutputStream(tệp);
để.write(fileContent.getBytes());
để.xả();
để.đóng();
} bắt (FileNotFoundException e) {
// TODO Khối catch được tạo tự động
e.printStackTrace();
} bắt (IOException e) {
// TODO Khối catch được tạo tự động
e.printStackTrace();
}
}

Như có thể thấy, tôi xóa và đóng luồng, nhưng khi tôi cố xóa,file.xóa() Trả về giá trị sai.

Tôi đã kiểm tra xem tệp có tồn tại hay không trước khi xóa nó và:file.exists(), file.canRead(), file.canWrite() ,file.canExecute() Cả hai đều trả về giá trị true. Sau khi gọi những phương pháp này, tôi đã thử file.xóa() và trả về giá trị false.

Có điều gì tôi làm sai không?

1 Câu trả lời

Một lỗi khác trong Java. Tôi hiếm khi tìm thấy chúng và đây mới chỉ là lần thứ hai trong sự nghiệp 10 năm của tôi. Như những người khác đã đề cập, đây chính là giải pháp của tôi. Tôi cũng chưa sử dụng nó.Hệ thống.gc(). Nhưng ở đây, theo tôi, điều này cực kỳ quan trọng. Kỳ quặc? Đúng!

Cuối cùng
{
thử
{
ghim theo();
trong = null;
ra ngoài. flush();
ra ngoài.đóng();
ra = null;
Hệ thống. gc();
}
bắt (IOException e)
{
logger.error(ví dụ.getMessage());
e.printStackTrace();
}
}

Liên quan đến java - file.delete() trả về false ngay cả khi file.exists(), file.canRead(), file.canWrite(), file.canExecute() đều trả về true, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/991489/

31 4 0
CNTT Lao Gao
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com