Como efectuar as operações de E/s de ficheiro básicos no Visual C# 2005 Express Edition

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

910356
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Para obter uma Microsoft Visual Basic .NET versão deste artigo, consulte 304427.
Para obter uma versão de Microsoft Visual C++ .NET deste artigo, consulte 307398.
Para obter uma Microsoft Visual C# .NET versão deste artigo, consulte 304430.
Neste artigo é referido ao espaço de Microsoft .NET Framework Class Library System.IO nomes.
INTRODUÇÃO
Este artigo passo a passo descreve como efectuar as operações de E/s de ficheiro básico no Microsoft Visual C# 2005 Express Edition. Se for uma novidade para o Microsoft .NET Framework, irá descobrir que o modelo de objecto para as operações de ficheiro no Microsoft .NET é semelhante ao modelo de objecto FileSystemObject é popular com muitos programadores do Microsoft Visual Studio 6.0. Para facilitar a transição, a funcionalidade descrita neste artigo baseia-se o seguinte artigo da base de dados de conhecimento da Microsoft sobre:
186118Como utilizar FileSystemObject com o Visual Basic
Pode ainda utilizar o objecto FileSystemObject no .NET. Uma vez que o objecto FileSystemObject é um componente COM (Component Object Model), .NET necessita que aceder ao objecto FileSystemObject através da camada de interoperabilidade. Se pretender utilizar um dispositivo de moldagem, .NET gera um wrapper para o componente por si. No entanto, as seguintes classes no .NET Framework oferecem funcionalidades que não está disponível quando use o objeto FileSystemObject , sem a sobrecarga da camada interoperabilidade:
  • A classe de ficheiro
  • A classe FileInfo
  • A classe de directório
  • A classe DirectoryInfo
  • Outras classes relacionadas

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Visual C# 2005 Express Edition ou Microsoft Visual Studio 2005

Operações de E/s de ficheiro demonstradas

Exemplos de código neste artigo descrevem como executar as operações de E/s de ficheiro básicos. A secção "Exemplo passo a passo" descreve como criar um programa de exemplo que demonstra seguintes operações de E/s de ficheiro:
  • Ler um ficheiro de texto.
  • Escreve um ficheiro de texto.
  • Ver informações de ficheiro.
  • Lista unidades de disco.
  • Lista de pastas.
  • Ficheiros de lista.
Nota Se pretender utilizar os seguintes exemplos de código directamente, considere o seguinte:
  • Tem de incluir o espaço de nomes System.IO da seguinte forma.
    using System.IO;
  • É necessário declarar a variável winDir da seguinte forma.
    string    winDir=System.Environment.GetEnvironmentVariable("windir");
  • É necessário declarar a função addListItem da seguinte forma.
    private void addListItem(string value){	this.listbox1.Items.Add(value);}
    Nota Em vez de declarar e utilizar a função addListItem , pode utilizar a seguinte instrução directamente.
    this.listbox1.Items.Add(value);

Ler um ficheiro de texto

O exemplo de código seguinte utiliza uma classe StreamReader para ler o ficheiro System.ini. O conteúdo do ficheiro é adicionado a um controlo de caixa de listagem . O bloco tente... catch é utilizado para notificar a aplicação, se o ficheiro está vazio. Existem várias formas para determinar quando é atingido o fim do ficheiro. Este exemplo de código utiliza o método observar examinar a linha seguinte antes de ler mesmo.
StreamReader reader = new StreamReader(winDir + "\\system.ini");            try            {                do                {                    addListItem(reader.ReadLine());                }                while (reader.Peek() != -1);            }            catch            {                addListItem("File is empty.");            }            finally            {                reader.Close();            }

Escrever um ficheiro de texto

O exemplo de código seguinte utiliza uma classe de StreamWriter para criar um ficheiro e escrever para um ficheiro. Se tiver um ficheiro existente, pode abrir o ficheiro existente no mesmo modo
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");

Ver informações de ficheiro

O exemplo de código seguinte utiliza um objecto FileInfo para aceder a propriedades de um ficheiro. O ficheiro Notepad.exe é utilizado neste exemplo de código. As propriedades aparecem num controlo de caixa de listagem .
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;

Lista unidades de disco

O exemplo de código seguinte utiliza a classe de directório e a classe de unidade para obter uma lista de unidades lógicas num sistema. Neste exemplo de código, os resultados aparecem num controlo de caixa de listagem .
string[] drives = Directory.GetLogicalDrives();    foreach(string drive in drives)    {        addListItem(drive);    }

Lista de pastas

O exemplo de código seguinte utiliza o método GetDirectories da classe Directory para obter uma lista de pastas.
string[] dirs = Directory.GetDirectories(winDir);    foreach(string dir in dirs)        {            addListItem(dir);        }

Listar ficheiros

O exemplo de código seguinte utiliza o método GetFiles da classe Directory para obter uma lista de ficheiros.
string[] files = Directory.GetFiles(winDir);            foreach (string fileName in files)            {                addListItem(fileName);            }
podem ocorrer vários problemas quando os utilizadores tentam aceder a ficheiros. Os ficheiros não existem ou os ficheiros podem ser a ser utilizados. Além disso, os utilizadores não poderão ter permissões dos ficheiros ou pastas estão a tentar aceder. Tem de considerar estas possibilidades quando escrever código e efectuar Provisões para processar as excepções que podem ser geradas.

Exemplo passo a passo

Para criar um programa de exemplo que demonstra as operações de E/s de ficheiro básicos, siga estes passos:
  1. No Visual C# 2005 Express Edition ou no Visual Studio 2005, crie uma nova aplicação Visual C# Windows denominado WindowsApplication1. Por predefinição, é criado um formulário é denominado Form1.
  2. No Solution Explorer, clique com o botão direito do rato em Form1.cs e, em seguida, clique em Código .
  3. Elimine todo o código no Editor de códigos.
  4. Cole o seguinte código no Editor de código.
    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. No Solution Explorer, clique com o botão direito do rato Form1.Designer.cs e, em seguida, clique em Código .
  6. Elimine todo o código no Editor de códigos.
  7. Cole o seguinte código no Editor de código. espaço de nomes
    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. Prima F5 para compilar e executar a aplicação.
  9. Clique nos botões para ver as acções diferentes.
Nota Por predefinição, Visual C# 2005 Express Edition ou o Visual Studio 2005 adiciona um formulário ao projecto quando cria um projecto de Windows Forms. O formulário é denominado Form1. Os dois ficheiros que representam o formulário são denominados Form1.cs ficheiro e o ficheiro Form1.Designer.cs. Escreva o código no ficheiro de Form1.cs. O Windows Forms Designer escreve o código no ficheiro Form1.Designer.cs.

Para obter mais informações sobre o Windows Forms Designer no Visual C# 2005 Express Edition ou no Visual Studio 2005, visite o seguinte Web site da Microsoft Developer Network (MSDN):
O Visual C# 2005 Express ficheiro E/S transmissão em sequência de código de exemplo de E/s Visual Studio 2005 System.IO

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 910356 - Última Revisão: 01/17/2015 12:29:12 - Revisão: 1.3

  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional
  • 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 KbMtpt
Esta informação foi útil?