تبلیغات
آموزشASP.NET - مدیریت فایل ها و دایرکتوری ها در ASP.NET ( بخش دوم )
 
فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 

در بخش اول این مقاله با کلاس های ارائه شده در دات نت به منظور کار با فایل ها و دایرکتوری ها آشنا شدیم . در این بخش با نحوه انجام عملیات متداول در ارتباط با فایل ها و دایرکتوری ها آشنا خواهیم شد.

تغییر و تشخیص دایرکتوری جاری
زمانی که یک صفحه 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 را بر می گرداند .

در بخش سوم به بررسی سایر عملیات متداول در ارتباط با فایل ها و دایرکتوری ها خواهیم پرداخت .





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


پنجشنبه 16 شهریور 1396 01:37 ب.ظ
Thank you, I have recently been searching for
information about this subject for a while and yours is the greatest I have came upon so
far. However, what concerning the conclusion? Are you sure concerning the supply?
پنجشنبه 16 شهریور 1396 01:37 ب.ظ
Thank you, I have recently been searching for
information about this subject for a while and yours is the greatest I have came upon so
far. However, what concerning the conclusion? Are you sure concerning the supply?
پنجشنبه 16 شهریور 1396 01:37 ب.ظ
Thank you, I have recently been searching for
information about this subject for a while and yours is the greatest I have came upon so
far. However, what concerning the conclusion? Are you sure concerning the supply?
پنجشنبه 16 شهریور 1396 01:37 ب.ظ
Thank you, I have recently been searching for
information about this subject for a while and yours is the greatest I have came upon so
far. However, what concerning the conclusion? Are you sure concerning the supply?
چهارشنبه 15 شهریور 1396 03:39 ب.ظ
Hello i am kavin, its my first time to commenting anywhere, when i read this paragraph i thought i could also make comment due
to this sensible piece of writing.
چهارشنبه 1 شهریور 1396 03:09 ب.ظ
Neat blog! Is your theme custom made or did you download it from somewhere?

A design like yours with a few simple adjustements would really make my blog jump out.

Please let me know where you got your design. Many thanks
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ

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

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








جستجو

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