Nội dung
Quản lý hệ thống tập tin
Giới thiệu Stream
Làm việc với tập tin nhị phân
Làm việc với BufferedStream
Làm việc với tập tin văn bản
19 trang |
Chia sẻ: phuongt97 | Lượt xem: 363 | Lượt tải: 0
Nội dung tài liệu Bài giảng Cơ sở Lập trình (Fundamental of Programming) - Chương 9: Đọc và ghi tập tin với C# - Nguyễn Thị Khiêm Hòa, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Đọc và ghi tập tin với C#
Giảng viên: Ths. Nguyễn Thị Khiêm Hòa
Nội dung
Quản lý hệ thống tập tin
Giới thiệu Stream
Làm việc với tập tin nhị phân
Làm việc với BufferedStream
Làm việc với tập tin văn bản
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 2
Quản lý hệ thống tập tin
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 3
Quản lý hệ thống tập tin
System.MarshalByRefObject – Lớp đối tượng của
.NET cho phép điều hành dữ liệu giữa các vùng
ứng dụng.
FileSystemInfo – Lớp đối tượng cơ sở biểu diễn
các file đối tượng hệ thống
FileInfo and File – Các lớp thể hiện một file trên
hệ thống tập tin
DirectoryInfo and Directory – Các lớp thể hiện
một folder trên hệ thống tập tin.
Path – Lớp chứa các thành phần tĩnh dùng tạo ra
các đường dẫn.
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 4
Stream
Còn được gọi là luồng dữ liệu
Thư viện: System.IO.Stream
Là lớp Abstract nên sử dụng thông qua các lớp dẫn xuất
Là đối tượng dùng để truyền dữ liệu cho việc đọc ghi dữ
liệu trên file.
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 5
Stream
Các lớp hỗ trợ
Stream class
FileStream class
StreamReader class, StreamWriter class
BinaryReader class, BinaryWriter class
MemoryStream class
BufferedStream class
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 6
Namespace System.IO
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 7
Làm việc với Binary Files
Làm việc với lớp FileStream: cho phép mở hoặc tạo
mới file
Khai báo:
FileStream = new
FileStream(File, Mode, Access, Share)
File: Tên, đường dẫn file cần truy xuất
Mode: Append, Create, Createnew, Open,
OpenOrCreate, Truncate
Access: Read, Write, ReadWrite
Share: Inheritable, None, Read, ReadWrite, Write.
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 8
Làm việc với Binary Files
BinaryReader class
Dùng để đọc file nhị phân
Cung cấp các phương thức có dạng
ReadXXX(ReadByte, ReadInt32) để đọc nội dung
file.
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 9
Làm việc với Binary Files
Ví dụ Đọc file nhị phân
FileStream theFile =
File.Open(@"c:\somefile.bin",
FileMode.Open);
BinaryReader reader = new
BinaryReader(theFile);
long number = reader.ReadInt64();
byte[] bytes = reader.ReadBytes(4);
string s = reader.ReadString();
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 10
Làm việc với Binary Files
BinaryWriter class
Dùng để ghi file nhị phân
Cung cấp các phương thức Write với nhiều dạng
tham số khác nhau để ghi nội dung file.
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 11
Làm việc với Binary Files
Ví dụ: Ghi file nhị phân
FileStream theFile =
File.Open(@"c:\somefile.bin",
FileMode.OpenOrCreate,FileAccess.Write);
BinaryWriter writer = new
BinaryWriter(theFile);
long number = 100;
byte[] bytes = new byte[] { 10, 20, 50};
string s = “Toi di hoc";
writer.Write(number);
writer.Write(bytes);
writer.Write(s);
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 12
Làm việc với BufferedStream
Được dùng như bộ nhớ trung gian để đọc dữ liệu giúp việc
trao đổi dữ liệu nhanh hơn
Khai báo:
Stream = File.OpenRead(Path);
Stream = File.OpenWrite(Path);
BufferedStream = new
BufferedStream (tên Stream)
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 13
Làm việc với BufferedStream
Sử dụng: Thông qua phương thức Read() hoặc Write()
while ((bytesRead = bufInput.Read(buffer,
0, SIZE_BUFF)) > 0)
{
bufOutput.Write(buffer, 0, bytesRead);
}
Xóa BufferedStream
bufOutput.Flush();
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 14
Làm việc với tập tin văn bản
Thư viện: StreamReader và StreamWriter
Mặc định làm việc với bảng mã Unicode
StreamReader được dẫn xuất từ lớp TextReader, cung
cấp khả năng đọc một dòng ký tự (CharacterStream)
StreamWriter được dẫn xuất từ TextWriter cho phép viết
dữ liệu văn bản lên một dòng văn bản
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 15
Làm việc với Text Files
private void ReadFile(string file)
{ StreamReader reader = new
StreamReader(file, Encoding.UTF8);
richTextBox.Text = reader.ReadToEnd();
reader.Close();
}
void WriteFile(string file)
{ StreamWriter sw = new StreamWriter(file,
false, Encoding.Unicode);
foreach (string line in richTextBox.Lines)
{
sw.WriteLine(line);
}
sw.Close();
}
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 16
Bài tập
Thực hiện:
Tạo Form có menu như mẫu
Thực hiện việc mở và ghi file
20 min
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 17
Làm việc với tập tin văn bản
Ví dụ: Ghi file văn bản
FileStream theFile =
File.Open(@"c:\somefile.txt",
FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter writer = new
StreamWriter(theFile);
writer.WriteLine("Hello");
writer.Close();
theFile.Close();
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 18
Q&A
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 19
Các file đính kèm theo tài liệu này:
- chapter_9_0415_283133.pdf