Có cách nào để biết loại số FileStream
không. Tôi có chức năng lấy đối tượng FileStream
và tôi muốn xác định tiện ích mở rộng tệp dựa trên số FileStream
đó.Xác định phần mở rộng tập tin được cung cấp cho một FileStream
15
A
Trả lời
20
string extension = Path.GetExtension(myFileStream.Name);
21
Nếu dòng thực sự là một FileStream
sau đó bạn sẽ có thể làm như sau
var ext = Path.GetExtension(fileStream.Name);
Nếu đó là một đồng bằng cũ Stream
mặc dù sau đó nó thường không thể nhận được phần mở rộng vì một Stream
có thể được tạo ra cho bất kỳ luồng byte nào. Nó không cần phải có một tệp sao lưu.
Cập nhật
Như Chris chỉ ra trong các ý kiến có một SO câu hỏi mà có liên quan đến cuộc thảo luận này. Đó là thảo luận về chẩn đoán để xác định loại số byte[]
mà sau đó có thể được ánh xạ tới một chữ ký gốc có thể xảy ra.
Nó không phải là hoàn hảo nhưng có thể hữu ích cho bạn.
4
Vâng, sử dụng tên tập tin sau đây sẽ trở .txt
(bao gồm cả .
):
var path = myFileStream.Name;
return Path.GetExtension(path);