مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش سوم )
چهارشنبه 8 آذر 1391 9:21 AM
در اين بخش به بررسی ساير عمليات متداول مرتبط با فايل ها و دايرکتوری ها و يک نمونه مثال کاربردی خواهيم پرداخت .
حذف يک دايرکتوری
برای حذف يک دايرکتوری می توان از متدهای Directory.Delete و يا DirectoryInfo.Delete استفاده نمود. کد زير نحوه انجام اين کار را نشان می دهد :
حذف يک دايرکتوری |
<%@ Language="VB" %> |
توضيحات
در صورتی که قصد حذف يک دايرکتوری را داشته باشيم که موجود نمی باشد ، با يک خطای DirectoryNoFound ، مواجه خواهيم شد. اگر قصد حذف يک دايرکتوری را داشته باشيم که در آن فايل و يا دايرکتوری های ديگری موجود می باشد، با يک خطای IOException مواجه خواهيم شد. برای حل اين مسئله ، می توان از نسخه overload متد Delete استفاده نمود. در چنين مواردی در زمان استفاده از متد Delete ، می بايست در رابطه با حذف و يا عدم حذف فايل ها و يا دايرکتوری های موجود در يک دايرکتوری تعيين تکليف شود. کد زير نحوه انجام اين کار را نشان می دهد :
حذف يک دايرکتوری با تعيين تکليف در رابطه با فايل ها و دايرکتوری ها موجود در آن |
<%@ Language="VB" %> |
حذف يک فايل
برای حذف يک فايل می توان از متدهای File.Delete و يا FileInfo.Delete ، استفاده نمود . کد زير نحوه انجام اين کار را نشان می دهد :
حذف يک فايل |
<%@ Language="VB" %> |
توضيحات
در صورتی که قصد حذف فايلی را داشته باشيم که موجود نمی باشد ، با يک خطاء و يا exception خاصی برخورد نخواهيم کرد، مگر اين که بخشی از آدرس مشخص شده در مسير ( Pathname ) وجود نداشته باشد . در چنين مواردی با خطائی از نوع DirectoryNotFoundException مواجه خواهيم شد .
خصلت ها و صفات فايل ها و دايرکتوری ها
بر روی فايل ها و دايرکتوری ها می توان عمليات مشترک و مشابهی نظير "حذف " را انجام داد . فايل ها و دايرکتوری ها دارای خصايص مشترک و مشابهی نظير تاريخ ايجاد ، نام کامل و يا صفات نيز می باشند . کلاس FileSystemInfo دارای اعضائی است که می توان آنان را در ارتباط با فايل ها و يا دايرکتوری ها بخدمت گرفت . کلاس های DirectoryInfo و FileInfo ازکلاس فوق مشتق شده اند .
خصلت های کلاس FileSystemInfo
توضيحات | Read / Write | نوع | نام |
صفاتی نظير Hidden ، archive و Read-only ، مرتبط با يک فايل را برمی گرداند . |
R / W |
FileAttributes | Attributes |
زمان ايجاد فايل و يا دايرکتوری را برمی گرداند |
R / W |
System.DateTime | CreationTime |
آخرين زمان مراجعه به فايل و يا دايرکتوری را برمی گرداند |
R / W |
System.DateTime | LastAccessTime |
آخرين زمان ويرايش يک فايل و يا دايرکتوری را برمی گرداند |
R / W |
System.DateTime | LastWriteTime |
وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد. |
R |
Boolean | Exists |
انشعاب فايل و يا دايرکتوری را برمی گرداند ( به همراه نقطه). برای يک دايرکتوری،انشعاب متن موجود پس از آخرين نقطه در نام است . |
R |
String | Extension |
نام فايل و يا دايرکتوری را متناسب با نام دايرکتوری مربوطه بر می گرداند . |
R |
String | Name |
نام کامل فايل و يا دايرکتوری را برمی گرداند . |
R |
String | FullName |
متدهای کلاس FileSystemInfo
توضيحات | نام |
حذف فايل و يا دايرکتوری |
Delete |
بهنگام سازی هر نوع اطلاعات cache شده( نظير تاريخ ايجاد فايل) |
Refresh |
وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد. |
Exists |
مثال : ايجاد يک مرورگر فايل و دايرکتوری
برای آشنائی با نحوه استفاده ازصفات و برخی متدها و خصلت های کلاس های DirectoryInfo و FileInfo به بررسی يک مثال کاربردی ( ايجاد يک مرورگر فايل ) ، خواهيم پرداخت . برنامه فوق يک مسير(PathName ) را از ورودی دريافت و تمامی فايل ها و دايرکتوری ها موجود در آن را نمايش خواهد داد .
مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر
ايجاد يک مرورگر فايل و دايرکتوری |
<%@ Import Namespace="System.IO" %> |
مرحله دوم : پس از ذخيره کد فوق در فايلی با نام FileBrowser.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :
مدیر تالار های: