1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Xử lí ngoại lệ phần 2 doc

8 311 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài Liệu Xử Lý Ngoại Lệ Phần 2
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tài Liệu
Định dạng
Số trang 8
Dung lượng 170,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lớp thao tác tập tin Khả năng để viết thông tin vào trong một tập tin hay đọc thông tin từ trong một tập tin có thể làm cho chương trình của chúng ta có nhiều hiệu quả hơn.. Sao chép một

Trang 1

Ví dụ 12.4: Sử dụng một vài hàm toán học

-

using System;

namespace Programming_CSharp

{

public class Tester

{

public static void Main()

{

int val2;

char ch;

for(double ctr = 0.0; ctr <= 10; ctr += 2)

{ val2 = (int) System.Math.Round((10*System.Math.Sin(ctr))); for( int ctr2 = -10; ctr2 <=10; ctr2++)

{

if (ctr2 == val2)

ch = 'x';

else

ch = ' ';

Console.Write("{0}", ch);

} Console.WriteLine(" ");

}

}

}

}

-

Kết quả:

Trang 2

-

Vòng lặp đầu tiên thực hiện thông qua một biến lặp là một giá trị double, mỗi bước lặp tăng

2 Giá trị Sin được lấy thông qua việc sử dụng hàm Math.Sin Do giá trị Sin từ -1 đến

1 và để cho dễ hiển thị hơn, giá trị này được chuyển từ -10 đến 10 Để chuyển thành giá trị này thì ta nhân với 10 rồi sau đó thực hiện việc làm tròn bằng cách dùng hàm Round của Math

Kết quả của phép nhân và làm tròn là một giá trị từ -10 đến 10 được gán cho val2

Vòng lặp for thứ hai thực hiện việc xuất một ký tự ra màn hình

Trang 3

Lớp thao tác tập tin

Khả năng để viết thông tin vào trong một tập tin hay đọc thông tin từ trong một tập tin có thể làm cho chương trình của chúng ta có nhiều hiệu quả hơn Hơn nữa, có rất nhiều lần khi chúng ta muốn có khả năng làm việc với những tập tin hiện hữu Phần tiếp sau chúng ta sẽ tìm hiểu những đặc tính cơ bản của việc thao tác trên tập tin Điều này sẽ được theo sau bởi một khái niệm quan trọng của tập tin là luồng (stream)

Sao chép một tập tin

Một lớp tập tin tồn tại bên trong lớp cơ sở gọi là File, lớp này được định vị bên trong namespace System.OI Lớp File chứa một số các phương thức tĩnh được sử dụng để thao tác trên tập tin Thật vậy, tất cả các phương thức bên trong lớp File điều

là tĩnh Bảng 12.2 liệt kê những phương thức chính của lớp File

Lớp File

AppendText Nối văn bản vào trong một tập tin

Copy Tạo ra một tập tin mới từ tập tin hiện hữu

Trang 4

Create Tạo ra một tập tin mới ở một vị trí xác định

CreateText Tạo ra tập tin lưu giữ text

Delete Xóa tập tin ở vị trí xác định Tập tin phải hiện

hữu nếu không sẽ phát sinh ra ngoại lệ

Exists Kiểm tra xem tập tin có thực sự hiện hữu ở vị trí

nào

đó

GetAttributes Lấy thông tin thuộc tính của tập tin Thông tin

này bao gồm: tập tin có bị nén hay không, tên thư mục, có

thuộc tính ẩn, thuộc tính chỉ đọc, tập tin hệ thống GetCreationTime Trả về ngày giờ tập tin được tạo ra

GetLastAccessTime Trả về ngày giờ tập tin được truy cập lần cuối GetLastWriteTime Trả về ngày giờ tập tin được viết lần cuối

Move Cho phép tập tin được di chuyển vào vị trí mới và

đổi tên tập tin

Open Mở một tập tin tại vị trí đưa ra Bằng việc mở tập

tin này chúng ta có thể viết thông tin hay đọc thông tin từ

OpenRead Mở một tập tin hiện hữu để đọc

OpenText Mở một tập tin để đọc dạng text

OpenWrite Mở một tập tin xác định để viết

SetAttributes Thiết lập thuộc tính cho tập tin

SetCreationTime Thiết lập ngày giờ tạo tập tin

SetLastAccessTime Thiết lập lại ngày giờ mà tập tin được truy cập

lần cuối SetLastWriteTime Thiết lập ngày giờ mà tập tin được cập nhật lần

cuối

Bảng 12.2 : Một số phương thức chính thao tác tập tin

Chương trình 12.5 sau minh họa việc sao chép một tập tin

Ví dụ 12.5: Sao chép một tập tin

-

// file : filecopy.cs: sao chép một tập tin

// sử dụng tham số dòng lệnh

namespace

Programming_CSharp

Trang 5

using System;

using System.IO;

public class

Tester

{

public static void

Main()

Trang 6

{

string[] CLA = Environment.GetCommandLineArgs();

if ( CLA.Length < 3)

{

}

else

{

try { }

Console.WriteLine(“Format: {0} orig-file new-file”, CLA[0]);

string origfile = CLA[1]; string newfile

= CLA[2];

Console.Write(“Copy ”

);

File.Copy(origfile, newfile);

catch (System.IO.FileNotFoundException) {

Console.WriteLine(“\n{0} does not exist!”, origfile);

return;

} catch (System.IO.IOException) {

Console.WriteLine(“\n{0} already exist!”, newfile);

return;

} catch (Exception e) {

Console.WriteLine(“\nAn exception was thrown trying to copy file”); Console.WriteLine();

return;

} Console.WriteLine(“ Done”);

}

}

}

}

Trang 7

-Chương trình thực hiện bằng cách sau khi biên dịch ra tập tin filecopy.exe ta gọi thực hiện tập

tin này với tham số dòng lệnh như sau:

filecopy.exe filecopy.cs filecopy.bak

Tập tin filecopy.cs đã hiện hữu và tập tin filecopy.bak thì chưa hiện hữu cho đến khi lệnh này thực thi Sao khi thực thi xong chương trình tập tin filecopy.bak được tạo

ra Nếu chúng ta thực hiện chương trình lần thứ hai cũng với các tham số như vậy, thì chúng ta sẽ nhận được kết quả xuất như sau:

Copy

filecopy.bak already exists!

Nếu chúng ta thực hiện chương trình mà không có bất cứ tham số nào, hay chỉ có một tham

số, chúng ta sẽ nhận được kết quả như sau :

Format d:\working\filecopy\filecopy.exe orig-file new-file

Cuối cùng, điều tệ nhất xảy ra là chúng ta thực hiện sao chép nhưng tập tin nguồn không tồn tại:

Copy

filecopy.cs does not exist!

Như chúng ta ta thấy tất cả các kết quả có thể có của chương trình minh họa 12.5 trên Chương trình thực hiện việc sao chép một tập tin và nó kiểm tra tất cả các tình huống có thể có và thực hiện việc xử lý các ngoại lệ Điều này cho thấy chương trình vừa đáp ứng được mặt logic của lập trình vừa đáp ứng được việc xử lý các ngoại lệ Như chúng ta biết trong lệnh sau:

string[] CLA = Environment.GetCommandLineArgs();

thực hiện việc lấy các tham số dòng lệnh được cấp cho chương trình Lớp Environment này chúng ta đã tìm hiểu và đã sử dụng trong phần trước

Lệnh sau kiểm tra xem chương trình có nhận được ít hởn giá trị tham số dòng lệnh hay không

if ( CLA.Length < 3)

{

Console.WriteLine(“Format: {0} orig-file new-file”, CLA[0]);

Trang 8

}

Ngày đăng: 21/01/2014, 00:20

HÌNH ẢNH LIÊN QUAN

Bảng 12.2 : Một số phương thức chính thao tác tập tin. - Tài liệu Xử lí ngoại lệ phần 2 doc
Bảng 12.2 Một số phương thức chính thao tác tập tin (Trang 4)

🧩 Sản phẩm bạn có thể quan tâm

w