C # có một loạt các thao tác với tệp. Các thao tác này bao gồm mở tệp, đọc hoặc ghi vào tệp. Có thể có những trường hợp trong đó bạn muốn làm việc trực tiếp với các tệp, trong trường hợp đó, bạn sẽ sử dụng các thao tác với tệp có sẵn trong C #. Một số thao tác cơ bản với tệp được đề cập dưới đây.
- Đọc - Thao tác này là thao tác đọc cơ bản trong đó dữ liệu được đọc từ một tệp.
- Ghi - Thao tác này là thao tác ghi cơ bản trong đó dữ liệu được ghi vào tệp. Theo mặc định, tất cả nội dung hiện có sẽ bị xóa khỏi tệp và nội dung mới được ghi.
- Appending - Thao tác này cũng liên quan đến việc ghi thông tin vào một tệp. Sự khác biệt duy nhất là dữ liệu hiện có trong một tệp không bị ghi đè. Dữ liệu mới sẽ được ghi được thêm vào cuối tệp.
Trong hướng dẫn này, bạn sẽ học-
- File tồn tại
- File.ReadAlllines
- File.ReadAllText
- Sao chép tập tin
- File.Delete
Các lệnh I / O cơ bản
C # và .Net có thể hoạt động với các tệp với sự trợ giúp của một số lệnh Tệp I / O. Chúng ta hãy xem xét một số lệnh này. Đối với ví dụ của chúng tôi, chúng tôi sẽ giả sử rằng chúng tôi có một tệp trong ổ đĩa D có tên là Example.txt.
Tập tin sẽ là một tập tin văn bản đơn giản và có 2 dòng như hình dưới đây
- Guru99 - .Net
- Guru99 -C #
Đối với ví dụ của chúng tôi, chúng tôi sẽ tạo một ứng dụng Console đơn giản và làm việc với các lệnh File I / O của chúng tôi. Ứng dụng bảng điều khiển là ứng dụng cơ bản đã được tạo trong hướng dẫn trước đó. Trong ứng dụng bảng điều khiển, tất cả mã được ghi vào tệp Program.cs.
File tồn tại
Phương thức Tệp tồn tại được sử dụng để kiểm tra xem một tệp cụ thể có tồn tại hay không. Vì vậy, bây giờ chúng ta hãy xem mã có thể được sử dụng để kiểm tra xem tệp example.txt của chúng ta có tồn tại hay không. Nhập mã dưới đây vào tệp program.cs.
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";if (File.Exists(path)){Console.WriteLine("File Exists");}Console.ReadKey();}}}
Giải thích mã: -
- Đầu tiên, chúng tôi đang thiết lập một biến chuỗi với đường dẫn đến tệp Example.txt của chúng tôi.
- Tiếp theo, chúng ta sử dụng phương thức File.Exists để kiểm tra xem tệp có tồn tại hay không. Nếu Tệp tồn tại, giá trị true sẽ được trả về.
- Nếu chúng tôi nhận được giá trị true và tệp tồn tại, thì chúng tôi viết thông báo "Tệp tồn tại" vào bảng điều khiển.
Khi mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới.
Đầu ra: -
Từ kết quả ở trên, bạn có thể thấy rằng lệnh File.Exists đã được thực thi thành công và thông báo chính xác đã được hiển thị trong cửa sổ bảng điều khiển.
File.ReadAlllines
Phương thức này được sử dụng để đọc tất cả các dòng một trong một tệp. Các dòng sau đó được lưu trữ trong một biến mảng chuỗi. Hãy xem một ví dụ. Nhập mã dưới đây vào tệp program.cs.
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";String[] lines;lines = File.ReadAllLines(path);Console.WriteLine(lines[0]);Console.WriteLine(lines[1]);Console.ReadKey();}}}
Giải thích mã: -
- Đầu tiên, chúng ta đang khai báo một biến mảng chuỗi. Điều này sẽ được sử dụng để lưu trữ kết quả sẽ được trả về bởi phương thức File.ReadAllLines.
- Tiếp theo, chúng tôi sử dụng phương thức File.ReadAllLines để đọc tất cả các dòng từ tệp văn bản của chúng tôi. Kết quả sau đó được chuyển đến biến dòng.
- Vì chúng ta biết rằng tệp của chúng ta chỉ chứa 2 dòng, chúng ta có thể truy cập giá trị của các biến mảng thông qua lệnh lines [0] và lines [1].
Khi mã trên được đặt và dự án được chạy bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới.
Đầu ra: -
Từ kết quả đầu ra, bạn có thể thấy rằng lệnh File.ReadAllLines đã trả về cả hai dòng từ tệp example.txt của chúng tôi
File.ReadAllText
Phương pháp này được sử dụng để đọc tất cả các dòng trong một tệp cùng một lúc. Các dòng sau đó được lưu trữ trong một biến chuỗi. Hãy xem một ví dụ. Nhập mã dưới đây vào tệp program.cs.
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";String lines;lines = File.ReadAllText(path);Console.WriteLine(lines);Console.ReadKey();}}}
Giải thích mã: -
- Đầu tiên, chúng ta đang khai báo một biến chuỗi được gọi là Lines. Điều này sẽ được sử dụng để lưu trữ kết quả sẽ được trả về bởi phương thức File.ReadAllText.
- Tiếp theo, chúng tôi sử dụng phương thức File.ReadAllText để đọc tất cả các dòng từ tệp văn bản của chúng tôi. Kết quả sau đó được chuyển đến biến dòng.
- Chúng ta có thể sử dụng trực tiếp phương thức Console.Writeline để hiển thị giá trị của biến Lines.
Khi mã trên được đặt và dự án được chạy bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới.
Đầu ra: -
Từ kết quả đầu ra, bạn có thể thấy rằng lệnh File.ReadAlltext đã trả về cả hai dòng từ tệp example.txt của chúng tôi
Sao chép tập tin
Phương thức này được sử dụng để tạo bản sao của tệp hiện có. Hãy xem một ví dụ. Nhập mã dưới đây vào tệp program.cs.
using System;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";String copypath = @"D:\ExampleNew.txt";File.Copy(path,copypath);Console.ReadKey();}}}
Giải thích mã: -
- Đầu tiên, chúng ta đang khai báo một biến chuỗi được gọi là đường dẫn. Đây sẽ là vị trí của tệp example.txt của chúng tôi. Tệp này sẽ là tệp nguồn được sử dụng cho hoạt động sao chép.
- Tiếp theo, chúng ta đang khai báo một biến chuỗi được gọi là copypath. Đây sẽ là vị trí của một tệp mới có tên là tệp ExampleNew.txt. Đây sẽ là tệp đích trong đó nội dung sẽ được ghi từ tệp nguồn Example.txt.
- Sau đó chúng ta gọi phương thức File.Copy để sao chép tệp tin tệp example.txt sang tệp tin exampleNew.txt.
Khi mã trên được đặt và dự án được chạy bằng Visual Studio, tệp Example.txt sẽ được sao chép sang ExampleNew.txt.
File.Delete
Phương pháp này được sử dụng để xóa một tệp hiện có. Hãy xem một ví dụ. Nhập mã dưới đây vào tệp program.cs.
using System;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";File.Delete(path);Console.ReadKey();}}}
Giải thích mã: -
- Đầu tiên, chúng ta đang khai báo một biến chuỗi được gọi là đường dẫn. Đây sẽ là vị trí của tệp example.txt của chúng tôi. Đây là tệp sẽ bị xóa.
- Tiếp theo, chúng tôi đang gọi phương thức File.Delete để xóa tệp.
Khi mã trên được đặt và dự án được chạy bằng Visual Studio, tệp Example.txt sẽ bị xóa khỏi ổ D.
Tóm lược
- C # có một số hoạt động Tệp có thể được thực hiện trên tệp. Hầu hết các thao tác này là một phần của Tệp lớp.
- Nếu bạn muốn đọc dữ liệu từ một tệp, bạn có thể sử dụng các phương thức File.ReadAlltext hoặc File.ReadAllLines.
Phương pháp tệp | Sự miêu tả |
---|---|
File tồn tại | Phương thức tồn tại tệp được sử dụng để kiểm tra xem một tệp cụ thể có tồn tại hay không. |
File.ReadAlllines | Phương thức này được sử dụng để đọc tất cả các dòng một trong một tệp. |
File.ReadAllText | Phương pháp này được sử dụng để đọc tất cả các dòng trong một tệp cùng một lúc. |
Sao chép tập tin | Phương thức này được sử dụng để tạo bản sao của tệp hiện có. |
File.Delete | Phương pháp này được sử dụng để xóa một tệp hiện có. |