Tải bản đầy đủ (.pdf) (19 trang)

Bài giảng cơ sở lập trình máy tính chương 9 ths nguyễn thị khiêm hòa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (535.2 KB, 19 trang )

Đọ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
 Làm

BufferedStream

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 <tên biến> = 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 <tên Stream> = File.OpenRead(Path);
Stream <tên Stream> = File.OpenWrite(Path);

BufferedStream <tên biến> = 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

Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM

20 min

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



×