عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم ) |
مديريت وب |
9944 |
7 |
4.4 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )
مديريت فايل ها و دايرکتوری ها در
ASP.NET ( بخش دوم )
در
بخش اول اين مقاله با کلاس
های ارائه شده در دات نت به منظور کار با فايل ها و دايرکتوری ها آشنا شديم . در
اين بخش با نحوه انجام عمليات متداول در ارتباط با فايل ها و دايرکتوری ها آشنا
خواهيم شد.
تغيير
و تشخيص دايرکتوری جاری
زمانی که يک صفحه ASP.NET
اجراء می گردد ، thread استفاده شده به منظور اجرای کد
لازم جهت توليد صفحه ، به صورت پيش فرض دارای دايرکتوری جاری
Windir%\System32 % است . در صورت پاس دادن پارامتری نظير
نام يک فايل به هر يک از کلاس های System.IO ،
در دايرکتوری جاری عمليات مورد نظر انجام خواهد شد ( فرض می شود که فايل در
دايرکتوری جاری است ).
بازيابی و تغيير دايرکتوری جاری از جمله عملياتی است که توسط کلاس Directory
انجام می شود . مثال زير نحوه تغيير دايرکتوری جاری با استفاده از
SetCurrentDirectory و بازيابی مجدد آن توسط
GetCurrentDirectory را نشان می دهد .
تغيير و بازيابی دايرکتوری جاری
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.SetCurrentDirectory("C:\Test")
Response.Write( "مسير جاری : " & _
Directory.GetCurrentDirectory()
)
%>
|
نمايش
ليست درايوهای منظقی موجود
به منظور نمايش ليست درايوهای منطقی موجود از متد
GetLogicalDrives کلاس Directory
استفاده می شود . متد فوق ، آرايه ای از نوع string شامل ليست درايوهای موجود را برمی گرداند .
ليست درايوهای منطقی
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
dim Drives() as string
dim Drive as string
Drives = Directory.GetLogicalDrives()
For Each Drive in Drives
Response.Write(drive)
Response.Write("<BR>")
Next
%>
|
ايجاد يک
دايرکتوری
برای ايجاد يک دايرکتوری از متد CreateDirectory
کلاس Directory استفاده می شود . کد زير نحوه ايجاد يک
ساختار سلسله مراتبی از دايرکتوری های مورد نياز را نشان می دهد .
ايجاد دايرکتوری
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.CreateDirctory("C:\Test1\Test2\Test3")
%>
|
پس از فراخوانی متد CreateDirectory
، در ابتدا بررسی لازم در رابطه با وجود يک دايرکتوری با نام
Test1 در درايو C انجام می شود ، در صورتی که
دايرکتوری فوق وجود نداشته باشد ، آن را ايجاد می نمايد . در ادامه بررسی لازم در
رابطه با دايرکتوری Test2 انجام خواهد شد و در صورت عدم
وجود يک دايرکتوری با اين نام در دايرکتوری Test1 ،
اين دايرکتوری نيز ايجاد می گردد . در نهايت ، متد CreateDirectory بررسی
لازم در رابطه با دايرکتوری Test3 را انجام می دهد و در
صورتی که اين دايرکتوری در مسير مربوطه
نيز وجود نداشته باشد ، آن را ايجاد می نمايد .
نکته : در صورتی که سعی نمائيم يک دايرکتوری
را با نام خاصی ايجاد نمائيم که قبلا" ايجاد شده است ، با يک
Exception مواجه نخواهيم شد . در صورتی که می خواهيم از وجود يک دايرکتوری
قبل از ايجاد آن مطمئن شويم
، می توان از متد
Directory.Exists استفاده نمود . در صورتی که
هر يک از بخش های آرگومان متد CreateDirectory نادرست باشند، با يک
ArgumentException مواجه خواهيم شد .
مثال : نمايش محتويات يک دايرکتوری
کلاس Directory دارای متدهای متعددی به منظور بازيابی
محتويات يک دايرکتوری است :
عملکرد |
پارامتر |
متد |
آرايه ای
از نوع String شامل نام هر يک از دايرکتوری های
موجود در مسير مشخص شده
، برگردانده می شود .
|
Pathname |
GetDirectories |
مثال
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim dir As String
Dim Subdirs() As String
Subdirs=Directory.GetDirectories("C:\")
For Each dir in Subdirs
Response.Write( dir & "<br />"
Next
%>
|
عملکرد |
پارامتر |
متد |
آرايه ای از نوع String شامل نام هر يک از
دايرکتوری های موجود در مسير مشخص شده
و منطبق با الگوی جستجو
، برگردانده می شود. |
Pathname,
Search Path |
GetDirectories |
مثال
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim dir As String
Dim Subdirs() As String
Subdirs=Directory.GetDirectories("C:\"
, "Sa*")
For Each dir in Subdirs
Response.Write( dir & "<br />"
Next
%>
|
عملکرد |
پارامتر |
متد |
آرايه ای از نوع String شامل نام هر يک از
فايل های های موجود در مسير مشخص شده
، برگردانده می شود .
|
Pathname
|
GetFiles |
مثال
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim f As String
Dim files() As String
files=Directory.GetFiles("C:\Test"
)
For Each f in files
Response.Write( f & "<br />"
Next
%>
|
عملکرد |
پارامتر |
متد |
آرايه ای از نوع String شامل نام هر يک از
فايل های های موجود در مسير مشخص شده
و منطبق با الگوی جستجو
، برگردانده می شود. |
Pathname,
Search Path
|
GetFiles |
مثال
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim f As String
Dim files() As String
files=Directory.GetFiles("C:\Test","sa*"
)
For Each f in files
Response.Write( f & "<br />"
Next
%>
|
عملکرد |
پارامتر |
متد |
آرايه ای از نوع String شامل نام هر يک از
فايل ها و دايرکتوری های موجود در مسير مشخص شده
، برگردانده می شود . |
Pathname |
GetFileSystemEntries |
مثال
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim item As String
Dim items() As String
items=Directory.GetFileSystemEntries("C:\Test")
For Each item in items
Response.Write( item & "<br />"
Next
%>
|
عملکرد |
پارامتر |
متد |
آرايه ای از نوع String شامل نام هر يک از
فايل ها و دايرکتوری های موجود در مسير مشخص شده است
و منطبق با الگوی جستجو
، برگردانده می شود. |
Pathname,
Search Path
|
GetFileSystemEntries |
مثال
|
<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim item As String
Dim items() As String
items=Directory.GetFileSystemEntries("C:\Test","sa*")
For Each item in items
Response.Write( item & "<br />"
Next
%>
|
کلاس DirectoryInfo
نيز دارای
متدهای GetDirectories ، GetFiles
و GetFileSystemEntries است که دارای عملکردی
مشابه متدهای کلاس Directory می باشند . در اين رابطه دو
تفاوت عمده وجود دارد :
-
پارامترPathname به عنوان
آرگومان در اختيار متدهای اشاره شده در کلاس DirectoryInfo
قرار داده نمی شود. ( کلاس DirectoryInfo دارای آگاهی
لازم در ارتباط با مسير می باشد ).
-
متدهای فوق ،آرايه ای از نوع
String را برنمی گردانند . متد
GetDirectories آرايه ای از نوع
DirectoryInfo ، متد GetFiles
آرايه ای از نوع FileInfo و متد
GetFileSystemEntries ، آرايه ای از نوع
FileSystemInfo را بر می گرداند .
در بخش سوم به بررسی ساير عمليات متداول در ارتباط با
فايل ها و دايرکتوری ها خواهيم پرداخت .