Trong dự án của tôi, tôi phải tạo một số tệp tạm thời trong thiết bị USB, mà tôi muốn xóa khi đóng. Vì vậy, tôi đã sử dụng mã nhưFileStream với tùy chọn DeleteOnClose File
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose);
Nó hoạt động tốt. Nhưng vấn đề là tôi muốn sử dụng thêm một FileOption, như No buffering.
private const FileOptions FILE_FLAG_NO_BUFFERING = (FileOptions)0x20000000;
this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose & FILE_FLAG_NO_BUFFERING);
Nhưng không xóa tệp sau khi đóng. Hãy giúp tôi.
Nhưng tôi nhận được một ngoại lệ "hoạt động IO sẽ không hoạt động. Nhiều khả năng tệp sẽ trở nên quá dài hoặc xử lý không được mở để hỗ trợ các hoạt động IO đồng bộ", nếu tôi đặt | thay vì &, khi tôi gọi this.fcommandHandler.Close() – Anuraj
@Anuraj: Điều đó không có nghĩa là | là sai, nó có nghĩa là một cái gì đó trong cách sử dụng của bạn là không chính xác. Lasse là đúng mà bạn cần | thay vì &. Ngoại lệ là vấn đề tiếp theo của bạn để giải quyết. –
@ Jeff Yates: Cảm ơn bạn đã thử với một số tùy chọn khác. – Anuraj