現在オフラインです。再接続するためにインターネットの接続を待っています

System.IO と Visual C# を使用してテキスト ファイルを読み取る方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:306777
Microsoft Visual Basic .NET 版のこの資料には、次を参照してください。 302309.

この資料は、次の Microsoft.NET Framework クラス ライブラリの名前空間を参照します。
  • System.IO
  • System.Collections
概要
この資料では、テキスト ファイル (.txt) から情報を取得し、 ArrayListクラスを使用してユーザーにその情報を表示する方法を示します。

要件

Microsoft Visual C# の場合は

Visual C# でのテキスト ファイルの読み取り

開くと、読み取りアクセス用のファイルの読み取り入出力 (IO) 機能の重要な部分は、場合でも、対象のファイルに記述する必要はありません。次の使用例は、テキスト ファイルを読み取るに便利ですが、バイナリ ファイルの不適切なは、読み取り用にファイルを開きます。この例では、ファイルを開くために使用できる多くの方法のいずれかを使用します。

ファイルから取得した情報を格納するため、多くのデータ構造体が、 ArrayListクラスは使用する最も簡単な構造にします。開き、ファイルから読み取り、次の使用例は、 System.IO.StreamReaderクラスでは具体的には、名前空間からオブジェクトを使用します。

<b>このサンプルでは、何らかの形式のテキスト (.txt) ファイルからの読み取りが必要です。

読み込むし、テキスト ファイルを読み取る Visual C# から、次の手順を実行します。
  1. Microsoft Visual Studio を起動します。
  2. Visual C# で新しいコンソール アプリケーションを作成します。Visual Studio では、空のMain()プロシージャと、静的クラスを作成します。
  3. プロジェクトが少なくともSystem名前空間を参照することを確認します。システムSystem.IOSystem.Collections名前空間にusingステートメントを使用するため、後続のコードでこれらの名前空間の宣言を修飾する必要はありません。その他の宣言の前にこれらのステートメントを使用する必要があります。
    using System;using System.IO;using System.Collections;					
  4. 読み取り用にファイルを開くには、 StreamReaderオブジェクトの新しいインスタンスを作成し、ファイルのパスを次のように、コンス トラクターに渡します。
    StreamReader objReader = new StreamReader("c:\\test.txt");					
  5. 処理するとき、ファイルの各行を格納する文字列変数が必要です。ArrayListにこれらの行を追加するので、宣言し、また、その型のオブジェクトを作成します。
    string sLine="";ArrayList arrText = new ArrayList();					
  6. ファイル全体を一度に読み取るReadToEndメソッドなど、ファイルを読み取るためのいくつかの方法があります。ただし、この例では、一度にファイルの 1 行で表示するのには、 ReadLineメソッドを使用することができます。ファイルの末尾に達すると、このメソッドは、ループを終了するための手段を提供する、null を返します。ファイルから各行を読み取りすると、 ArrayListクラスに行を挿入するのには、 ArrayListAddメソッドを使用できます。
    while (sLine != null){	sLine = objReader.ReadLine();	if (sLine != null)		arrText.Add(sLine);}objReader.Close();					
  7. For Eachループを使用して、次のように、新しく塗りつぶされたArrayListの内容をコンソールに書き込みます。
    foreach (string sOutput in arrText)	Console.WriteLine(sOutput);Console.ReadLine();					
  8. 保存し、コンソールにファイルの一覧を生成するコードを実行します。

完全なコード リスト

using System;using System.IO;using System.Collections;namespace TextFileReader_csharp{	/// <summary>	/// Summary description for Class1.	/// </summary>	class Class1	{		static void Main(string[] args)		{			StreamReader objReader = new StreamReader("c:\\test.txt");			string sLine="";			ArrayList arrText = new ArrayList();			while (sLine != null)			{				sLine = objReader.ReadLine();				if (sLine != null)					arrText.Add(sLine);			}                        objReader.Close();			foreach (string sOutput in arrText)				Console.WriteLine(sOutput);			Console.ReadLine();		}	}}				

トラブルシューティング

ファイル I/O では、次の項目を含むを使用する場合の注意すべき点がいくつかあります。
  • ファイルをアクセスするときに、読み取りまたは書き込みしようとしているファイルがシステム上に存在しないか、または使用中である可能性があります可能性があります。
  • 次の使用例は、ファイルを処理する前に、ファイル全体をメモリに読み込みます。ファイルが大きすぎてメモリ内に保持する状況が発生する可能性があります。 またはファイルにアクセスする権限がない可能性があります。
このような状況のいずれかが、例外を発生させます。これらの一般的な問題を処理するために、 try... catchブロックを提供することをお勧めでは常にします。
try catch ブロック

警告: この記事は自動翻訳されています

プロパティ

文書番号:306777 - 最終更新日: 07/03/2016 14:04:00 - リビジョン: 6.0

Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2008 Express Edition

  • kbcollections kbhowtomaster kbio kbmt KB306777 KbMtja
フィードバック
="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >