public static Article Read(string path) { // kiểm tra file tồn tại if (!File.Exists(path)) { throw new Exception("Tập tin không tồn tại hoặc đường dẫn không hợp lệ:\n " + path); } // tạo luồng đọc StreamReader sr = File.OpenText(path); string file_content = sr.ReadToEnd(); // đọc toàn bộ string từ luồng string[] separators = new string[] { FLAG_TO_SAVE }; // khai báo cờ phân cách giữa các thành phần bài báo string[] article_data = file_content.Split(separators, StringSplitOptions.None); // tách các phần bài báo thành mảng string // tạo đối tượng model article mới Article article = new Article(); // lấy dữ liệu từ mảng string đọc từ luồng truyền vào đối tượng model article.Title = article_data[0]; article.Time = DateTime.Parse(article_data[1]); article.Summany = article_data[2]; article.Content = article_data[3]; article.Uri = new Uri(article_data[4]); article.Author = article_data[5]; sr.Close(); // đóng luồng return article; // trả về đối tượng model }
private Uri _uri; // uri tới nguyên bản của bài báo public ArticleController() { // khởi tạo Article = new Article(); _path = ""; _uri = null; }
public static void Save(Article article, string path) { // khởi tạo nội dung tập tin trước khi lưu string file_content = String.Join(FLAG_TO_SAVE, article.toArray()); // tạo luồng ghi StreamWriter sw = new StreamWriter(path, false, Encoding.Unicode); // ghi nội dung vào tập tin sw.Write(file_content); sw.Flush(); // flush luồng sw.Close(); // đóng luồng }