YOMEDIA
Bài giảng Lập trình Windows - Streams & Files
Chia sẻ: Hấp Hấp
| Ngày:
| Loại File: PPT
| Số trang:50
90
lượt xem
6
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng "Lập trình Windows - Streams & Files" cung cấp cho người học các kiến thức cơ bản về Streams & Files, các Lớp và Giao diện trong System.IO, access Text File, các Thành viên của Lớp StreamWriter, reading sequential-access files, phương thức của "TextReader",... Mời các bạn cùng tham khảo.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Lập trình Windows - Streams & Files
- Streams & Files
- #1 System.IO Namespace
Explain the need for files and streams
Describe the System namespace and its significance
- Files & Streams
File thường dùng dể nói
đến thông tin lưu trữ trên
đĩa.
Stream: Dòng thông tin.
Stream: Dùng để gửi, nhận
thông tin từ bộ nhớ, mạng..
- "System.IO"
Chứa các lớp cho hỗ trợ
đọc/ghi dữ liệu
Cung cấp các lớp cho phép
thao tác trên tập tin, thư mục.
- "System.IO"
Các bước cơ bản để làm việc với một tậo tin là:
Bước 1: Mở hay tạo mới tập tin
Bước 2: Thiết lập một luồng ghi hay đọc từ tập tin
Bước 3: Đọc hay ghi dữ liệu lên tập tin
Bước 4: Đóng lập tin lại
- "System.IO"
Các phương thức cho việc tạo và mở tập tin
AppendText: Mở một tập tin để thêm và tập tin này có thể
được thêm văn bản vào trong nó. Tạo luồng StreamWriter
sử dụng để thêm vào trong văn bản.
Create: Tạo mới một tập tin
CreateText: Tạo và mở một tập tin văn bản. Tạo ra một
luồng StreamWriter.
Open: Mở một tập tin để đọc/viết. Mở một FileStream
OpenRead: Mở một tập tin để đọc
OpenText: Mở một tập tin văn bản để đọc. Tạo ra
StreamReader để sử dụng.
OpenWrite: Mở một tập tin cho việc đọc và ghi.
- Các Lớp và Giao diện trong System.IO
- Các lớp Stream
BufferedStream
Thêm buffer vào các stream khác với mục đích tăng hiệu quả đọc/ghi dữ
liệu
FileStream
Hổ trợ việc truy xuất File
CryptoStream
Dùng mã hóa dữ liệu trên File
NetworkStream
Dùng đọc/ghi dữ liệu qua mạng
- Access Text File
LÀM VIỆC VỚI NHỮNG TẬP TIN VĂN BẢN
Để làm việc với tập tin văn bản (đọc/ghi) ta cần sử dụng
đến các lớp StreamReader và StreamWriter.
Cả 2 lớp này, theo mặt định đều làm việc với ký tự
Unicode.
9
- Các Thành Viên Của Lớp
StreamWriter
Tên Ý Nghĩa
Close() Đóng write, giải phóng mọi tài nguyên đã bị
chiếm dụng.
Flush() Giải phóng buffer đối với write hiện hành,
cho ghi lên đĩa tất cả dữ liệu còn sót lại trên
buffer.
NewLine Sang dòng mới(tương đương “\r\n”)
Write() Viết một dòng lên text stream.
WriteLine() Viết một dòng lên text stream và sang dòng
mớ i
10
- Các Thành Viên Của Lớp
StreamReader
Tên Ý Nghĩa
Peek() Trả về ký tự kế tiếp của reader.
Read() Đọc dữ liệu từ 1 input stream.
ReadBlock() Đọc 1 số tối đa ký tự đếm được từ stream
hiện hành rồi cho viết lên buffer.
ReadLine() Đọc 1 dòng ký tự, chuỗi null cho biết là
EOF
ReadToEnd() Đọc tất cả ký tự từ vị trí hiện hành cho tới
cuối chuỗi.
11
- SequentialAccess Text File
Đọc và viết dữ liệu thông qua lớp Stream. Stream nghĩa
là dòng dữ liệu chảy đi.
Lớp FileStream: cho phép mở những tập tin đã có cũng
như tạo mới tập tin.
FileStream thường dùng những enum FileMode,
FileAccess, FileShare.
FileStreamoutput
FileStream output==new
new FileStream(
FileStream( fileName,
fileName,
FileMode.OpenOrCreate,
FileMode.OpenOrCreate,
FileAccess.Write ););
FileAccess.Write
12
- Creating and writting a SequentialAccess File (p 659)
Figure 18.9 (TẠO VÀ GHI FILE)
1. using System.IO;
2. // writes data to text file
private StreamWriter fileWriter;
// maintains connection to file
private FileStream output;
3. // open file with write access
output = new FileStream( fileName,
FileMode.OpenOrCreate, FileAccess.Write );
// sets file to where data is written
fileWriter = new StreamWriter( output );
13
- Creating and writting a SequentialAccess File (p 661)
if (accountNumber > 0)
{
record.Account = accountNumber;
record.FirstName = txtFirstName.Text;
record.LastName = txtLastName.Text;
record.Balance = Convert.ToDecimal(txtBalance.Text);
// write Record to file, fields separated by commas
fileWrite.WriteLine(record.Account + " ," +
record.FirstName + " ," +
record.LastName + " ," +
record.Balance);
}
14
- Reading sequentialaccess files
ĐỌC FILE:
private FileStream input;
private StreamReader fileReader;
// create FileStream
input = new FileStream( fileName, FileMode.Open,
FileAccess.Read );
// set file from where data is read
fileReader = new StreamReader( input );
15
- Phương thức của “BinaryWriter“
Giá trị của FileMode
Giá trị Định nghĩa
Append: Mở một tập tin hiện hữu hoặc tạo một tập tin mới
Create: Tạo một tập tin mới. Nếu một tập tin đã có, nó sẽ bị xóa
và một tập tin mới sẽ được tạo ra với cùng tên.
CreateNew: Tạo một tập tin mới. Nếu một tập tin đã tồn tại thì một
ngoại lệ sẽ được phát sinh.
Open: Mở tập tin hiện hữu.
OpenOrCreate: Mở tập tin hay tạo tập tin mới nếu tập tin chưa tồn tại
Truncate: Mở một tập tin hiện hữu và xóa nội dung của nó.
- Lớp “BinaryWriter"
Dùng để ghi dữ liệu cơ bản (char, int, float, double..) lên
Stream.
- Constructor của “BinaryWriter"
- Phương thức của “BinaryWriter“
- Ví dụ
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...