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 でのファイル操作は多くの Microsoft Visual Studio 6. 0 の開発者と一般的な ファイル システム オブジェクト オブジェクト モデルに似ていますがあります。 移行をやすく、この資料に記載されている機能を次のマイクロソフト サポート技術に基づきます。
186118Visual Basic でのファイル システム オブジェクトを使用する方法
.NET では、 ファイル システム オブジェクト オブジェクトを使用できます。 FileSystemObject オブジェクトが、コンポーネント オブジェクト モデル (COM) コンポーネントでため .NET は、相互運用層を通じて テキスト ファイル オブジェクトにアクセスすることが必要です。 ラッパーを使用する場合は、.NET はコンポーネントのラッパーを生成します。 ただし、.NET Framework で次のクラスは ファイル システム オブジェクト オブジェクトの相互運用レイヤーのオーバーヘッドなしを使用するときに利用できる機能を提供します。
  • ファイル クラス
  • FileInfo クラス
  • ディレクトリ クラス
  • DirectoryInfo クラス
  • 他の関連クラス

要件

次のとおりの推奨されるハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および必要なサービス パックです。
  • Microsoft Visual C# 2005 Express Edition または Microsoft Visual Studio 2005

ファイル入出力操作の説明

この資料のコード例は、基本的なファイル入出力操作を実行方法をについて説明します。 手順の例方法について説明を次のファイル I/O 操作を示すサンプル プログラムを作成します。
  • テキスト ファイルの読み取り。
  • テキスト ファイルを書き込みます。
  • ファイルの情報を表示します。
  • ディスク ドライブの一覧。
  • フォルダの一覧。
  • ファイルを一覧表示します。
メモ 、次のコード例を直接使用する場合は、次の検討をしてください。
  • 必要があります、 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) コントロール コントロールに追加します。 ファイルが空の場合、アプリケーションに通知を ください... catch ブロックを使用します。 多くの方法、ファイルの末尾に達するとを確認するがあります。 このコード例では、 Peek メソッドを使用してセットアップを読む前に、次の行を調べてを
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 オブジェクトを使用して、ファイルのプロパティにアクセスします。 メモ帳ファイルは、このコード例で使用されます。 プロパティをこの リスト ボックス (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 追加 1 つのフォームをプロジェクトに Windows フォーム プロジェクトを作成するとします。 フォーム Form1 という名前です。 フォームを表す 2 つのファイルは、Form1.cs ファイルと Form1.designer.cs ファイルの名前付き。 Form1.cs ファイルにコードを記述するとします。 Windows フォーム デザイナーは、Form1.designer.cs ファイルにコードを記述します。

Visual C# 2005 Express Edition または Visual Studio 2005 で、Windows フォーム デザイナーの詳細については、ご覧次マイクロソフト開発者向けネットワーク (MSDN) 下さい。
http://msdn2.microsoft.com/en-us/library/ms173077.aspx

プロパティ

文書番号: 910356 - 最終更新日: 2006年12月11日 - リビジョン: 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
キーワード:?
kbhowto kbhowtomaster kbio kbcodesnippet kbsample kbcode kbvs2005pro kbvs2005std kbvs2005mos kbvs2005exp kbvs2005search kbstepbystep kbmt KB910356 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:910356
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com