فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
در این بخش به بررسی سایر عملیات متداول مرتبط با فایل ها و دایرکتوری ها و یک نمونه مثال کاربردی خواهیم پرداخت .

حذف یک دایرکتوری
 برای حذف یک دایرکتوری می توان از متدهای Directory.Delete و یا DirectoryInfo.Delete استفاده نمود. کد زیر نحوه انجام این کار را نشان می دهد :

حذف یک دایرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.Delete("C:\Test")
Dim dir As DirectoryInfo
dir = New DirectoryInfo("C:\Test")
dir.Delete 

%>

توضیحات
در صورتی که قصد حذف یک دایرکتوری را داشته باشیم که موجود نمی باشد ، با یک خطای  DirectoryNoFound ، مواجه خواهیم شد. اگر قصد حذف یک دایرکتوری را داشته باشیم که در آن فایل و یا دایرکتوری های دیگری موجود می باشد، با یک خطای IOException مواجه خواهیم شد. برای حل این مسئله ، می توان از نسخه overload متد Delete استفاده نمود. در چنین مواردی در زمان استفاده از متد Delete ، می بایست در رابطه با حذف و یا عدم حذف فایل ها و یا دایرکتوری های موجود در یک دایرکتوری  تعیین تکلیف شود.  کد زیر نحوه انجام این کار را نشان می دهد :

حذف یک دایرکتوری با تعیین تکلیف در رابطه با فایل ها و دایرکتوری ها موجود در آن 

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.Delete("C:\Test",True)
Dim dir As DirectoryInfo
dir = New DirectoryInfo("C:\Test")
dir.Delete (True)

%>

حذف یک فایل
برای حذف یک فایل می توان از متدهای File.Delete و یا FileInfo.Delete ، استفاده نمود . کد زیر نحوه انجام این کار را نشان می دهد :

حذف یک فایل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
File.Delete("C:\Test.txt")
Dim file1 As FileInfo
file1 = New FileInfo("C:\Test.txt")
file1.Delete 

%>

توضیحات
در صورتی که قصد حذف فایلی را داشته باشیم که موجود نمی باشد ، با یک خطاء و یا 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" %>

<script runat="server">
Sub Page_Load( sender as object, e as EventArgs)
    if not Request("dir") is nothing then
        DirName.Value = Request("dir")
   end if
End Sub
</script>

<Html dir="rtl">
<font face="Tahoma" size="3">
<h3>مرورگر فایل و دایرکتوری </h3></Font>
</html>

<form runat="server" dir="rtl">
نام دایرکتوری <input type="text" id="DirName" size="20" dir="ltr"
value="c:\program files\internet explorer" runat="server" >
<input type="submit" value="مشاهده ">
</form>

<%
dim dir as DirectoryInfo
dim anchor as string

' Get the information about the selected directory

dir = new DirectoryInfo( DirName.Value )

Response.Write("<h4>دایرکتوری های موجود در " & DirName.Value & "</h4>")

Response.Write("<table>")
Response.Write("<tr bgcolor=""#336699"" style=""border-collapse: collapse; color: #ffffff"">")
Response.Write("<td>")
Response.Write( "نام" )
Response.Write("<td>")
Response.Write( "تاریخ آخرین تغییرات" )
Response.Write("</tr></font>")

dim SubDir as DirectoryInfo

for each SubDir in dir.GetDirectories()
  anchor = "<a href='" & "FileBrowser.aspx?dir=" & SubDir.FullName & "'>" + SubDir.Name & "</a>"
  Response.Write("<tr dir=""ltr"">")
  Response.Write("<td>" & anchor & "</td>" )
  Response.Write("<td>" & SubDir.LastWriteTime & "</td>" )
  Response.Write("</tr>")
next

Response.Write("</table>")

if ( not dir.Parent is nothing ) then
anchor = "<a href='" & "FileBrowser.aspx?dir=" & dir.Parent.FullName & "'>" & dir.Parent.FullName & "</a>"
Response.Write("<p>دایرکتوری ریشه " & anchor )
end if

Response.Write("<h3>فایل های موجود در " & DirName.Value & "</h3>")

Response.Write("<table>")
Response.Write("<tr bgcolor=""#336699"" style=""border-collapse: collapse; color: #ffffff"">")
Response.Write("<td>نام فایل</td>" )
Response.Write("<td>تاریخ آخرین تغییرات</td>" )
Response.Write("<td>ظرفیت</td>" )
Response.Write("<td>وضعیت فایل</td>" )
Response.Write("</tr>")

dim f as FileInfo
dim mystr As String

for each f in dir.GetFiles()
   Response.Write("<tr dir=""ltr"">")
   Response.Write("<td>" & f.Name )
   Response.Write("<td>" & f.LastWriteTime & "</td>")
   Response.Write("<td>" & f.Length.ToString() & "</td>" )
   if ( (f.Attributes and FileAttributes.ReadOnly) <> 0 ) then
      mystr ="فقط خواندنی"
   end if
  if ( (f.Attributes and FileAttributes.Hidden) <> 0 ) then
      mystr ="مخفی"
   end if
   if ( (f.Attributes and FileAttributes.System) <> 0 ) then
       mystr ="سیستم"
   end if
   if ( (f.Attributes and FileAttributes.Archive) <> 0 ) then
       mystr ="آرشیو"
   end if
   Response.Write( "<td>" & mystr & "</td>" )
   Response.Write("</tr>")
next
Response.Write("</table>")
%>

مرحله دوم :  پس از ذخیره کد فوق در فایلی با نام FileBrowser.aspx و مشاهده آن در مرورگر ، خروجی زیر را خواهیم داشت : 





نوع مطلب :
برچسب ها :
لینک های مرتبط :




درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :

                    
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic