C# là ngôn ngữ lập trình thông dụng và trực quan để tạo ra các ứng dụng với quy mô và được hỗ trợ bởi nhiều tiện ích.
Đọc và ghi file là nhu cầu cần thiết đứng sau sử dụng sử dụng cơ sở dữ liệu, một số ứng dụng có thể lấy dữ liệu từ việc đọc ghi file bằng các đối tượng đã được hỗ trợ trong C#. Bài viết này sẽ hướng dẫn cụ thể các đọc ghi file trong C#.
Đọc dữ liệu từ file
Chúng ta có một file với dữ liệu như sau: file.txt
Read data from file in C#.
Chương trình đọc dữ liệu từ file.
using System; using System.IO; namespace ReadFile { class Program { static void Main(string[] args) { string filePath = @"file.txt; string[] lines; string str; if (System.IO.File.Exists(filePath)) { lines = System.IO.File.ReadAllLines(filePath); for (int i = 0; i < lines.Length; i++) { Console.WriteLine("Line {0}: {1}",i , lines[i]); } Console.WriteLine(); str = System.IO.File.ReadAllText(filePath); Console.WriteLine("String: {0}", str); } else { Console.WriteLine("File does not exist"); } } } }
Trong đó, hàm ReadAllLines sẽ đọc dữ liệu trong file và trả về mảng các dòng dữ liệu của file đó. Hàm ReadAllText sẽ đọc toàn bộ dữ liệu và trả ra chuỗi dữ liệu đó. Chuỗi filePath là đường dẩn đến vị trí file cần đọc.
Việc đọc file có thể đọc được các bãng mã khác như Unicode, nhưng console mặc định chỉ in ra định dạng ASCII. Để in ra chính xác ta có thể thêm đoạn code sau: Console.OutputEncoding = Encoding.Unicode;
Đoạn code trên để định dạng output của console để in ra được định dạng Unicode.
Chương trình đọc file hoàn chỉnh:
using System; using System.IO; using System.Text; namespace ReadFile { class Program { static void Main(string[] args) { Console.OutputEncoding = Encoding.Unicode; string filePath = @"file.txt"; string[] lines; string str; if (System.IO.File.Exists(filePath)) { lines = System.IO.File.ReadAllLines(filePath); for (int i = 0; i < lines.Length; i++) { Console.WriteLine("Line {0}: {1}",i , lines[i]); } Console.WriteLine(); str = System.IO.File.ReadAllText(filePath); Console.WriteLine("String: {0}", str); } else { Console.WriteLine("File does not exist"); } } } }
Ghi dữ liệu vào file
Đối với ghi dữ liệu vào file có thể thực hiện ghi file bằng mảng các chuỗi hoặc một chuỗi.
using System; using System.IO; namespace WriteFile { class Program { static void Main(string[] args) { string fileLPath = @"file1.txt"; string fileSPath = @"file2.txt"; string[] lines = new string[2]; lines[0] = "Write data to file using C#."; lines[1] = ":)"; System.IO.File.WriteAllLines(fileLPath, lines); string str; str = "Write data to file using C#.\r\n:D"; System.IO.File.WriteAllText(fileSPath, str); } } }
Trong đó, fileLPath là đường dẫn đến vị trí file được ghi bằng mảng các chuỗi, fileSPath là đường dẫn đến vị trí file được ghi bằng một chuỗi.
Hàm WriteAllLines dùng để ghi mảng lines gồm 2 chuỗi như trên vào file, mỗi chuỗi trong mảng được ghi thành từng dòng trong file. Hàm WriteAllText để ghi một chuỗi vào file.
Đọc thêm
Đọc bài viết chi tiết đầy đủ Tổng Hợp Các Phương Pháp Đọc Ghi File với C#.