2009-12-04 34 views

Trả lời

13

Vâng, đúng vậy.

Nếu không, sẽ không có cách nào để đóng nó sau đó vì nó không trả lại bất cứ thứ gì cần vứt bỏ.

Từ the docs:

Cho một chuỗi và một đường dẫn tập tin, phương pháp này mở ra một file nào đó, gắn thêm chuỗi vào cuối của tập tin , và sau đó đóng file.

Các phương pháp tiện ích khác (ReadAllText, WriteAllBytes v.v.) hoạt động theo cùng một cách.

+0

Cảm ơn tôi đã có xu hướng sử dụng một StreamWriter, nhưng điều này có vẻ dễ dàng hơn nhiều. –

+0

Có vẻ như quy ước đặt tên là tất cả các phương thức IO chứa 'Tất cả' bỏ/đóng các luồng cơ bản, fe:' File.AppendAllLines', 'File.AppendAllText',' File.ReadAllBytes', 'File.ReadAllLines', 'File.ReadAllText',' File.WriteAllLines', 'File.WriteAllText'. Đó không phải là sự bảo đảm mà là một điều đáng nhớ. –

+0

@TimSchmelter: Tôi sẽ đi qua "Có trả lại luồng/người đọc/người viết không?" Nếu không, nó sẽ được đóng tất cả mọi thứ (như không có gì khác nó có thể làm). Nếu có, nó sẽ không trả lại cho bạn thứ gì đó đã đóng. –

4

Đây là mã của phương pháp này:

public static void AppendAllText(string path, string contents, Encoding encoding) 
{ 
    using (StreamWriter writer = new StreamWriter(path, true, encoding)) 
    { 
     writer.Write(contents); 
    } 
} 

Do đó, vâng.

+3

Tôi không nghĩ rằng bạn nên dựa vào chi tiết triển khai trừ khi bạn hoàn toàn phải làm vậy. Việc triển khai có thể thay đổi. May mắn thay trong trường hợp này nó được ghi lại một cách rõ ràng. –

Các vấn đề liên quan