كيفية إجراء عمليات إدخال/إخراج الملف الأساسية في Visual C# 2005 Express Edition

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

910356
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
للحصول على إصدار Microsoft Visual Basic .NET من هذه المقالة، راجع 304427.
للحصول على إصدار Microsoft Visual C++ .NET من هذه المقالة، راجع 307398.
للحصول على إصدار Microsoft Visual C# .NET من هذه المقالة، راجع 304430.
تشير هذه المقالة إلى مساحة الاسم Microsoft .NET Framework فئة مكتبة System.IO.
مقدمة حول
توضح هذه المقالة خطوة بخطوة حول كيفية إجراء عمليات إدخال/إخراج الملف الأساسي في Microsoft Visual C# 2005 Express Edition. إذا كنت مستخدماً جديداً لـ Microsoft .NET Framework ستجد يشبه نموذج الكائن لـ عمليات الملف في Microsoft .NET إلى طراز كائن FileSystemObject الشائعة مع العديد من مطوري Microsoft Visual Studio 6.0. لجعل الانتقال أسهل يستند وظيفة الموضحة في هذه المقالة على مقالة معارف التالية:
186118كيفية استخدام FileSystemObject مع Visual Basic
فلا يزال بإمكانك استخدام الكائن FileSystemObject في .NET. لأن كائن FileSystemObject غير مكون "طراز كائن مكون (COM) ، يتطلب .NET الوصول إلى الكائن FileSystemObject خلال طبقة إمكانية التشغيل المتداخل. إذا كنت تريد استخدام مجمّع ينشئ .NET مجمّع للمكون لك. على الرغم من ذلك، تقدم الفصول الدراسية التالية في .NET Framework وظيفة غير متوفرة عند استخدام كائن FileSystemObject بدون حمولة طبقة إمكانية التشغيل المتداخل:
  • فئة ملف
  • فئة FileInfo
  • فئة الدليل
  • فئة DirectoryInfo
  • الفئات الأخرى ذات الصلة

متطلبات

توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة و حزم الخدمات التي تحتاجها:
  • Microsoft Visual C# 2005 Express Edition أو Microsoft Visual Studio 2005

عمليات إدخال/إخراج الملف demonstrated

تصف أمثلة التعليمات البرمجية في هذه المقالة كيفية إجراء عمليات إدخال/إخراج الملف الأساسية. يصف القسم "المثال Step-by-step" كيفية إنشاء نموذج برنامج يوضح عمليات إدخال/إخراج الملف التالي:
  • قراءة ملف نصي.
  • كتابة ملف نصي.
  • عرض معلومات الملف.
  • قائمة محركات الأقراص.
  • قائمة المجلدات.
  • سرد الملفات.
ملاحظة إذا كنت ترغب في استخدام أمثلة التعليمات البرمجية التالية مباشرة يجب مراعاة ما يلي:
  • يجب أن يتضمن مساحة اسم System.IO كما يلي.
    using System.IO;
  • يجب تعريف متغير winDir كما يلي.
    string    winDir=System.Environment.GetEnvironmentVariable("windir");
  • يجب أن تقوم بتعريف الدالة addListItem كما يلي.
    private void addListItem(string value){	this.listbox1.Items.Add(value);}
    ملاحظة بدلاً من للتصريح واستخدام الدالة addListItem يمكنك استخدام العبارة التالية مباشرة.
    this.listbox1.Items.Add(value);

قراءة ملف نصي

يستخدم المثال التعليمات البرمجية التالي فئة StreamReader قراءة الملف System.ini. تتم إضافة محتويات الملف إلى عنصر تحكم ListBox. يتم استخدام كتلة حاول الالتقاط لإعلام التطبيق إذا كان الملف فارغ. توجد هناك عدة طرق لتحديد عند الوصول إلى نهاية الملف. يستخدم هذا المثال رمز أسلوب الاطلاع لفحص السطر التالي قبل قراءة it.
StreamReader reader = new StreamReader(winDir + "\\system.ini");            try            {                do                {                    addListItem(reader.ReadLine());                }                while (reader.Peek() != -1);            }            catch            {                addListItem("File is empty.");            }            finally            {                reader.Close();            }

كتابة ملف نصي

يستخدم المثال التالي من التعليمات البرمجية فئة StreamWriter لإنشاء ملف الكتابة إلى ملف. إذا كان لديك ملف موجود يمكنك فتح الملف الموجود في طريقة نفس
StreamWriter writer = new StreamWriter("c:\\KBTest.txt");            writer.WriteLine("File created by using StreamWriter class.");            writer.Close();            this.listBox1.Items.Clear();            addListItem("File written to C:\\KBTest.txt");

عرض معلومات الملف

يستخدم المثال التعليمات البرمجية التالية كائن FileInfo الوصول إلى خصائص ملف. يتم استخدام الملف Notepad.exe في هذا المثال رمز. تظهر الخصائص في تحكم ListBox.
FileInfo FileProps = new FileInfo(winDir + "\\notepad.exe");            addListItem("File Name = " + FileProps.FullName);            addListItem("Creation Time = " + FileProps.CreationTime);            addListItem("Last Access Time = " + FileProps.LastAccessTime);            addListItem("Last Write Time = " + FileProps.LastWriteTime);            addListItem("Size = " + FileProps.Length);            FileProps = null;

قائمة محركات الأقراص

يستخدم المثال التعليمات البرمجية التالي فئة الدليل و الفئة محرك استرداد قائمة محركات أقراص منطقية على نظام. على سبيل المثال، رمز تظهر النتائج في تحكم ListBox.
string[] drives = Directory.GetLogicalDrives();    foreach(string drive in drives)    {        addListItem(drive);    }

قائمة المجلدات

يستخدم المثال التعليمات البرمجية التالي أسلوب GetDirectories فئة الدليل لاسترداد قائمة المجلدات.
string[] dirs = Directory.GetDirectories(winDir);    foreach(string dir in dirs)        {            addListItem(dir);        }

سرد الملفات

يستخدم المثال التعليمات البرمجية التالي أسلوب GetFiles فئة الدليل لاسترداد قائمة من الملفات.
string[] files = Directory.GetFiles(winDir);            foreach (string fileName in files)            {                addListItem(fileName);            }
قد تحدث مشكلات متعددة عندما يحاول المستخدمون الوصول إلى الملفات. الملفات غير موجود أو قد تكون الملفات المستخدمة. أيضاً، المستخدمين قد لا يكون لديك الأذونات على الملفات أو المجلدات التي تحاول الوصول إليه. يجب مراعاة هذه الإمكانيات عند كتابة التعليمات البرمجية وقم بإجراء بنود لمعالجة الاستثناءات التي قد يتم إنشاء.

المثال خطوة بخطوة

لإنشاء نموذج برنامج يوضح عمليات إدخال/إخراج الملف الأساسية اتبع الخطوات التالية:
  1. في Visual C# 2005 Express Edition أو في Visual Studio 2005 إنشاء تطبيق Visual C# Windows جديد يسمى WindowsApplication1. افتراضياً، يتم إنشاء نموذج المسمى Form1.
  2. في "مستكشف الحلول" انقر بزر الماوس الأيمن فوق Form1.cs ومن ثم انقر فوق عرض التعليمات البرمجية.
  3. حذف كافة التعليمات البرمجية الموجودة في "محرر التعليمات البرمجية.
  4. قم بلصق التعليمة البرمجية التالية في "محرر التعليمات البرمجية.
    using System;using System.IO;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {            this.button1.Text = "Read Text File";            this.button2.Text = "Write Text File";            this.button3.Text = "View File Information";            this.button4.Text = "List Drives";            this.button5.Text = "List Subfolders";            this.button6.Text = "List Files";        }        private void button1_Click(object sender, EventArgs e)        {            // How to read a text file.            // try...catch is to deal with a file that has a length of 0 bytes.            this.listBox1.Items.Clear();            StreamReader reader = new StreamReader(winDir + "\\system.ini");            try            {                do                {                    addListItem(reader.ReadLine());                }                while (reader.Peek() != -1);            }            catch            {                addListItem("File is empty.");            }            finally            {                reader.Close();            }        }        private void button2_Click(object sender, EventArgs e)        {            // How to create and write to a text file.            StreamWriter writer = new StreamWriter("c:\\KBTest.txt");            writer.WriteLine("File created by using StreamWriter class.");            writer.Close();            this.listBox1.Items.Clear();            addListItem("File written to C:\\KBTest.txt");        }        private void button3_Click(object sender, EventArgs e)        {            // How to retrieve file properties (example uses Notepad.exe).            this.listBox1.Items.Clear();            FileInfo FileProps = new FileInfo(winDir + "\\notepad.exe");            addListItem("File Name = " + FileProps.FullName);            addListItem("Creation Time = " + FileProps.CreationTime);            addListItem("Last Access Time = " + FileProps.LastAccessTime);            addListItem("Last Write Time = " + FileProps.LastWriteTime);            addListItem("Size = " + FileProps.Length);            FileProps = null;        }        private void button4_Click(object sender, EventArgs e)        {            // How to obtain a list of disk drives.            this.listBox1.Items.Clear();            string[] drives = Directory.GetLogicalDrives();            foreach (string drive in drives)            {                addListItem(drive);            }        }        private void button5_Click(object sender, EventArgs e)        {            // How to obtain a list of folders.            // Example uses Windows folder.            this.listBox1.Items.Clear();            string[] dirs = Directory.GetDirectories(winDir);            foreach (string dir in dirs)            {                addListItem(dir);            }        }        private void button6_Click(object sender, EventArgs e)        {            // How to obtain a list of files.            // Example uses Windows folder.            this.listBox1.Items.Clear();            string[] files = Directory.GetFiles(winDir);            foreach (string fileName in files)            {                addListItem(fileName);            }        }    }}
  5. في "مستكشف الحلول" انقر بزر الماوس الأيمن فوق Form1.Designer.cs ومن ثم انقر فوق عرض التعليمات البرمجية.
  6. حذف كافة التعليمات البرمجية الموجودة في "محرر التعليمات البرمجية.
  7. قم بلصق التعليمة البرمجية التالية في "محرر التعليمات البرمجية. مساحة الاسم
    namespace WindowsApplication1{    partial class Form1    {        /// <summary>        /// Required designer variable.        /// </summary>        private System.ComponentModel.IContainer components = null;        private string winDir = System.Environment.GetEnvironmentVariable("windir");        /// <summary>        /// Clean up any resources that are being used.        /// </summary>        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>        protected override void Dispose(bool disposing)        {            if (disposing && (components != null))            {                components.Dispose();            }            base.Dispose(disposing);        }        private void addListItem(string value)        {            this.listBox1.Items.Add(value);        }        #region Windows Form Designer generated code        /// <summary>        /// Required method for designer support - do not modify        /// the contents of this method with the code editor.        /// </summary>        private void InitializeComponent()        {            this.listBox1 = new System.Windows.Forms.ListBox();            this.button1 = new System.Windows.Forms.Button();            this.button2 = new System.Windows.Forms.Button();            this.button3 = new System.Windows.Forms.Button();            this.button4 = new System.Windows.Forms.Button();            this.button5 = new System.Windows.Forms.Button();            this.button6 = new System.Windows.Forms.Button();            this.SuspendLayout();            //             // listBox1            //             this.listBox1.FormattingEnabled = true;            this.listBox1.Location = new System.Drawing.Point(23, 24);            this.listBox1.Name = "listBox1";            this.listBox1.Size = new System.Drawing.Size(525, 251);            this.listBox1.TabIndex = 0;            //             // button1            //             this.button1.Location = new System.Drawing.Point(23, 290);            this.button1.Name = "button1";            this.button1.Size = new System.Drawing.Size(171, 23);            this.button1.TabIndex = 1;            this.button1.Text = "button1";            this.button1.UseVisualStyleBackColor = true;            this.button1.Click += new System.EventHandler(this.button1_Click);            //             // button2            //             this.button2.Location = new System.Drawing.Point(23, 319);            this.button2.Name = "button2";            this.button2.Size = new System.Drawing.Size(171, 23);            this.button2.TabIndex = 2;            this.button2.Text = "button2";            this.button2.UseVisualStyleBackColor = true;            this.button2.Click += new System.EventHandler(this.button2_Click);            //             // button3            //             this.button3.Location = new System.Drawing.Point(200, 290);            this.button3.Name = "button3";            this.button3.Size = new System.Drawing.Size(171, 23);            this.button3.TabIndex = 3;            this.button3.Text = "button3";            this.button3.UseVisualStyleBackColor = true;            this.button3.Click += new System.EventHandler(this.button3_Click);            //             // button4            //             this.button4.Location = new System.Drawing.Point(200, 319);            this.button4.Name = "button4";            this.button4.Size = new System.Drawing.Size(171, 23);            this.button4.TabIndex = 4;            this.button4.Text = "button4";            this.button4.UseVisualStyleBackColor = true;            this.button4.Click += new System.EventHandler(this.button4_Click);            //             // button5            //             this.button5.Location = new System.Drawing.Point(377, 290);            this.button5.Name = "button5";            this.button5.Size = new System.Drawing.Size(171, 23);            this.button5.TabIndex = 5;            this.button5.Text = "button5";            this.button5.UseVisualStyleBackColor = true;            this.button5.Click += new System.EventHandler(this.button5_Click);            //             // button6            //             this.button6.Location = new System.Drawing.Point(377, 319);            this.button6.Name = "button6";            this.button6.Size = new System.Drawing.Size(171, 23);            this.button6.TabIndex = 6;            this.button6.Text = "button6";            this.button6.UseVisualStyleBackColor = true;            this.button6.Click += new System.EventHandler(this.button6_Click);            //             // Form1            //             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;            this.ClientSize = new System.Drawing.Size(580, 400);            this.Controls.Add(this.button6);            this.Controls.Add(this.button5);            this.Controls.Add(this.button4);            this.Controls.Add(this.button3);            this.Controls.Add(this.button2);            this.Controls.Add(this.button1);            this.Controls.Add(this.listBox1);            this.Name = "Form1";            this.Text = "Form1";            this.Load += new System.EventHandler(this.Form1_Load);            this.ResumeLayout(false);        }        #endregion        private System.Windows.Forms.ListBox listBox1;        private System.Windows.Forms.Button button1;        private System.Windows.Forms.Button button2;        private System.Windows.Forms.Button button3;        private System.Windows.Forms.Button button4;        private System.Windows.Forms.Button button5;        private System.Windows.Forms.Button button6;    }}
  8. اضغط F5 لإنشاء التطبيق وتشغيله.
  9. انقر فوق الأزرار لعرض إجراءات مختلفة.
ملاحظة بشكل افتراضي، Visual C# 2005 Express Edition أو Visual Studio 2005 إضافة نموذج إلى المشروع عند قيامك بإنشاء مشروع نماذج Windows. يُسمى النموذج Form1. يتم تسمية الملفين التي تمثل النموذج ملف Form1.cs وملف Form1.designer.cs. كتابة التعليمات البرمجية في ملف Form1.cs. مصمم نماذج Windows بكتابة التعليمة البرمجية في ملف Form1.designer.cs.

للحصول على مزيد من المعلومات حول مصمم نماذج Windows في Visual C# 2005 Express Edition أو في Visual Studio 2005 قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:
System.IO C# 2005 Express ملف IO دفق I/O نموذج لتعليمة برمجية Visual Studio 2005 المرئية

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 910356 - آخر مراجعة: 01/17/2015 12:28:59 - المراجعة: 1.3

  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual Studio 2005 Team System Architect Edition
  • Microsoft Visual Studio 2005 Team System Developer Edition
  • Microsoft Visual Studio 2005 Team System Team Foundation:
  • Microsoft Visual Studio 2005 Team System Test Edition
  • kbnosurvey kbarchive kbmt kbvs2005std kbvs2005mos kbvs2005exp kbvs2005pro kbvs2005search kbio kbhowtomaster kbsample kbstepbystep kbcodesnippet kbcode kbhowto KB910356 KbMtar
تعليقات