System.IO در سی شارپ

saalek110

Well-Known Member
System.IO در سی شارپ

در این تاپیک using زیر فراموش نشود:
کد:
using System.IO;


b6.gif

عکس از کتاب:
Introduction to C# Programming
for the Microsoft® .NET Platform
(Prerelease)
 
آخرین ویرایش:

saalek110

Well-Known Member
منبع:
http://docs.codehaus.org/display/GROOVY/C+Sharp+Groovinator

برنامه زیر برای خواندن یک فایل تکست است.
کد:
        private void button1_Click(object sender, EventArgs e)
        {
            string line;
            using (StreamReader reader = File.OpenText(@"c:\a.txt"))
            {
                while ((line = reader.ReadLine()) != null)
                {
                    MessageBox.Show(line);
                }
            }
        }

کمی اصلاح کردم برنامه بالا را:

کد:
        private void button1_Click(object sender, EventArgs e)
        {
            string line;
            using (StreamReader reader = File.OpenText(@".\a.txt"))
            {
                while ((line = reader.ReadLine()) != null)
                {
                    listBox1.Items.Add(line);
                    //MessageBox.Show(line);
                }
            }
        }
پس علاوه بر یک دکمه یک لیست باکس هم روی فرم قرار دهید. این طوری همه فایل در لیست باکس نمایش داده می شود.
در ضمن مسیر فایل تکست را هم کنار فایل اگزه کردم تا فایلش پیشش باشه و بشه پروژه را با تشکیلاتش به هر جایی منتقل کرد.
 
آخرین ویرایش:

saalek110

Well-Known Member
منبع:
https://msdn2.microsoft.com/en-us/library/system.io.directory(VS.71).aspx
----------------------------------------

کد:
            // Specify the directories you want to manipulate.
            string path = @"c:\MyDir";
            string target = @"c:\TestDir";

            try
            {
                // Determine whether the directory exists.
                if (!Directory.Exists(path))
                {
                    // Create the directory it does not exist.
                    Directory.CreateDirectory(path);
                }

                if (Directory.Exists(target))
                {
                    // Delete the target to ensure it is not there.
                    Directory.Delete(target, true);
                }

                // Move the directory.
                Directory.Move(path, target);

                // Create a file in the directory.
                File.CreateText(target + @"\myfile.txt");

                // Count the files in the target directory.
                Console.WriteLine("The number of files in {0} is {1}",
                    target, Directory.GetFiles(target).Length);
            }
            catch (Exception [COLOR="Red"]e2[/COLOR])
            {
                Console.WriteLine("The process failed: {0}", [COLOR="#ff0000"]e2[/COLOR].ToString());
            }
            finally { }

کد را از سایت من داخل رویداد دکمه پیست کردم. e2 که در کد بالا قرمز شده ... e بود که انگار با مقادیر رویداد مشکل پیدا کرده بود. بقیه کد از سایت اصلی است.
فراموش نکید که using System.IO را هم اضافه کنید.

شرح کد : ایجاد و حذف دایرکتوری و move کردن دایرکتوری و ایجاد یک فایل تکست و شمردن تعداد فایلها.

================
برای بررسی بیشتر شمردن تعداد فایلهای یک پوشه کد زیر را من کار کردم:
کد:
        private void button2_Click(object sender, EventArgs e)
        {
            string target = @"c:\TestDir";
            // Count the files in the target directory.
            MessageBox.Show("The number of files in directory="+
                 Directory.GetFiles(target).Length);
        }

و نتیجه این بود که پوشه ها را نمی شمرد و فقط فایلها را می شمرد.
 
آخرین ویرایش:

saalek110

Well-Known Member
منبع:
http://www.c-sharpcorner.com/Upload...ory07022005012852AM/WorkingWithDirectory.aspx
---------------------------------------------

کد:
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                string[] str = Directory.GetLogicalDrives();
                Console.WriteLine("Using C# Directory Class ,Available drives are:");
                for (int i = 0; i < str.Length; i++)
                    Console.WriteLine(str[i]);
            }
            catch (IOException [COLOR="Red"]e2[/COLOR]) { Console.WriteLine([COLOR="#ff0000"]e2[/COLOR].ToString()); }
        }

باز هم آن e2 در اصل در سایت e بوده. بقیه کد از سایت. خروجی در پنجره output نمایش داده می شود. شما می توانید در لیست باکس یا ابزار دیگر نمایش دهید.


نتیجه اجرا:

َ
کد:
A:
C:
D:
E:
F:
G:

که A فلاپی من است و C تا F درایوهای من و G هم CD Rom .

شرح کد: یک آرایه رشته ای ساخته ایم و درایوها را درونش ریخته ایم با کد :
کد:
string[] str = Directory.GetLogicalDrives();

و بعد اعضای رشته را چاپ کرده ایم.
 
آخرین ویرایش:

saalek110

Well-Known Member
از :
C# Cookbook
Publisher : O'Reilly
------------------------

کد:
            FileStream fileStream = null;
            if (!File.Exists(@"c:\test.txt"))
            {
                fileStream = File.Create(@"c:\test.txt");
            }

برنامه بالا فایلی در درایو سی می سازد.
و همچنین برنامه زیر:

کد:
            FileInfo fileInfo = null;
            FileStream fileStream = null;
            if (!File.Exists(@"c:\test.txt"))
            {
                fileInfo = new FileInfo(@"c:\test.txt");
                fileStream = fileInfo.Create();
            }

کدهای بالا را تست کردم . چند کد هم بدون تست می گذارم:

کد:
if (File.Exists(@"c:\delete\test\test.txt"))
{
    File.Copy(@"c:\delete\test\test.txt ", 
               Directory.GetCurrentDirectory( ) + @"\test.txt", true);
}

کد:
FileInfo fileInfo = new FileInfo(@"c:\delete\test\test.txt");
fileInfo.CopyTo(@"c:\test.txt", true);

کد:
if (!File.Exists(Directory.GetCurrentDirectory( ) + @"\test.txt"))
{
    File.Move(@"c:\delete\test\test.txt ", 
         Directory.GetCurrentDirectory( ) + @"\test.txt");
}

کد:
FileInfo fileInfo = new FileInfo(@"c:\delete\test\test.txt");
if (!File.Exists(@"c:\test.txt "))
{
    fileInfo.MoveTo(@"c:\test.txt ");
}

کد:
if (File.Exists(Directory.GetCurrentDirectory( ) + @"\test.txt"))
{
    File.Delete(Directory.GetCurrentDirectory( ) + @"\test.txt", true);
}

کد:
if(File.Exists(@"c:\delete\test\test.txt")
{
    FileInfo fileInfo = new FileInfo(@"c:\delete\test\test.txt");
    fileInfo.Delete( );
}
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا