ホームページ  >  記事  >  バックエンド開発  >  既存のファイルにテキストを追加する C# プログラム

既存のファイルにテキストを追加する C# プログラム

WBOY
WBOY転載
2023-09-18 09:19:321173ブラウズ

###############導入###

追加とは、すでに書かれた文書に情報を追加することを指します。ここでは、既存のファイルにテキストを追加する C# プログラムの作成方法を学習します。ご存知のとおり、ファイル処理は C# で行われます。ほとんどの場合、ファイルはデータを保存するために使用されます。平たく言えば、ファイル処理またはファイル管理とは、ファイルの作成、ファイルの読み取り、ファイルの書き込み、ファイルの追加などのさまざまなプロセスです。 将文本附加到现有文件的 C# 程序

既存のファイルのみですか?

ご存知のとおり、追加とは通常、すでに書かれた文書に情報を追加することを意味します。しかし、アクセスしようとしているファイルが存在しない場合はどうなるでしょうか?添付するために「madrid.txt」というファイルを検索するとします。指定したディレクトリにファイルが存在する場合、そのファイルは追加されます。しかし、ファイル「madrid.txt」が存在しない場合はどうなるでしょうか?次に、プログラムは「madrid.txt」という新しいファイルを作成し、そこに情報を追加できます。したがって、追加モードでファイルを開こうとすると、その特定のファイルが存在しない場合、追加するファイルと同じ名前で新しい空のファイルが作成されます。

###1。 File.AppendAllText(String, String) メソッド

File.AppendAllText() メソッドは、既存のファイルへの追加の問題に対する非常に一般的な解決策です。このメソッドは File クラスから取得されます。このメソッドの構文は次のとおりです。

リーリー

構文では、最初の文字列には追加するファイルへのパスが含まれています。その後、ファイルに追加したい情報は次のとおりです。これにより、いくつかの例外がスローされる場合もあります。ファイルにアクセスしようとしているディレクトリが存在しない場合は、DirectoryNotFoundException がスローされます。スローされるもう 1 つの主要な例外は UnauthorizedAccessException です。これは、プログラマが読み取り専用のファイルにアクセスしようとした場合、または指定されたパスがファイルではなくディレクトリを指している場合に発生します。

このメソッドを使用すると、スローされた例外に関係なく、ファイル ハンドルは閉じられます。

###アルゴリズム###

次に、File.AppendAllText() を使用してファイルに情報を追加するプログラムを作成するアルゴリズムについて説明します。

ステップ 1

- まず、添付するファイルのアドレスを保存する文字列を作成し、ファイルのアドレスを指定します。

ステップ 2

- 次に、FileAppendAllText() を使用してファイルを追加モードで開き、特定のテキストをファイルに追加します。ファイルが存在しない場合は、その名前で新しいファイルが作成され、テキストが追加されます。

ステップ 3 - 最後に、ファイルからテキストが読み取られ、ファイルが添付されていることを確認した後、プログラムが終了します。 ###例### リーリー ###出力### リーリー

つまり、ファイルへのパスが指定されると、メソッドは指定されたファイルを開き、プログラマが必要とする情報を追加して、ファイルを閉じます。非常に単純ですが、ファイルの内容全体を必要なファイルにコピーしたい場合はどうすればよいでしょうか?はい、この方法はファイルのコピーの問題も解決します。ここでアルゴリズムについて説明します。

###アルゴリズム### このアルゴリズムは File.AppendAllText() の使用に関するものです。

ステップ 1 - ソース ファイルのアドレスを保存する文字列を作成します。

ステップ 2

- ターゲット ファイルのアドレスを保存する別の文字列を作成します。

ステップ 3

- File.Readlines() を使用して、ソース ファイルを文字列でコピーします。

ステップ 4

- ファイルは File.AppendAllText() によって追加モードで開かれます。次にテキストを追加します。

ステップ 5

- プログラムが完了したら終了します。

###例### リーリー 次に、別の方法を見てみましょう。 ###2。 File.AppendText() メソッド

SteamWriter クラスは非常に一般的なクラスです。ファイルを書き込むための多くのメソッドが提供されます。 WriteLine() または Write() は、ストリームにテキストを追加するために使用できる別のメソッドです。 リーリー File.AppendAllText() メソッドを使用して StreamWriter インスタンスを作成できます。このメソッドは、UTF-8 エンコーディングで既存のファイルにテキストを追加します。また、指定されたファイルが存在しない場合には、新しいファイルが作成されます。

ファイルにアクセスしようとしているディレクトリが存在しない場合、DirectoryNotFoundException がスローされます。スローされるもう 1 つの主要な例外は UnauthorizedAccessException です。これは、プログラマが読み取り専用のファイルにアクセスしようとした場合、または指定されたパスがファイルではなくディレクトリを指している場合に発生します。 ###アルゴリズム### 次に、File.AppendText() を使用してファイルに情報を追加するプログラムを作成するアルゴリズムについて説明します。

ステップ 1 - まず、添付するファイルのアドレスを保存する文字列を作成し、ファイルのアドレスを指定します。

ステップ 2

- 次に、StreamReader のインスタンスを作成します。この手順では、ファイルを追加モードで開き、ファイルにテキストを追加します。 File.AppendText() を使用してテキストを追加します。

追加には

StreamReader.Write() メソッドを使用します。ユーザーがテキストを追加したい場合は、最後に行終端文字を追加します。 StreamReader.WriteLine() メソッドを使用します。

ステップ 3

- プログラムが完了したら終了します。

示例

// A program to append the file
using System;
using System.IO;

public class Program {
   public static void Main() {
      string loca = @"D:\madrid.txt";

      // Adding the text to the specified file
      using (StreamWriter sw = File.AppendText(loca)) {
         sw.Write("UCL"); //use sw.WriteLine(If you want to add line termination)
      }

      // Read the text from the appended file
      string txtappd = File.ReadAllText(loca);
      Console.WriteLine(txtappd);
   }
}

输出

UCL

StreamWriter(String, Boolean) 构造函数重载版本也相当于 File.AppendText()。而对于布尔参数,我们使用 true。

StreanWriter 算法(字符串、布尔值)

现在,我们将讨论创建一个程序以使用 StreamWriter(String, Boolean) 将信息添加到文件的算法。

第 1 步 - 首先,我们创建一个字符串来存储要附加的文件的地址,然后提供文件的地址

第 2 步 现在,我们创建 StreamReader 的实例。此步骤以追加模式打开文件并向文件添加文本。我们使用新的 Streamwriter() 来添加信息。在这里,我们使用 StreamReader.Write() 方法进行追加。但如果我们需要附加文本,然后在末尾添加行终止符,那么我们可以使用 StreamReader.WriteLine() 方法。

第 3 步 最后,从文件中读取文本,以便我们可以看到文件已附加,然后程序退出。

示例

// A program to append the file
using System;
using System.IO;

public class Program {
   public static void Main() {
      string loca = @"D:\madrid.txt";

      // Adding the text to the specified file
      using (StreamWriter sw = new StreamWriter(loca, true)) {
         sw.Write("UCL"); //use sw.WriteLine(If you want to add line termination)
      }

      // Read the text from the appended file
      string txtappd = File.ReadAllText(loca);
      Console.WriteLine(txtappd);
   } 
}

输出

UCL

时间复杂度

由于在这两个进程中,我们都使用文件处理。在第一个算法中,我们使用 File.AppendAllText(),在第二个算法中,我们使用 File.AppendText(),它们都只是附加文件。他们正在获取新文本并将其添加到文件末尾。所以,这两种方法的时间复杂度都是O(1)。

结论

在本文中,我们讨论了将文本附加到现有文件的不同方法。首先我们讨论了是否需要以及是否只能对现有文件进行。然后我们讨论了追加File.AppendAllText()和File.AppendText()的方法。最后,我们讨论了算法和算法的代码。

我们希望本文能够帮助您增强有关 C# 的知识。

以上が既存のファイルにテキストを追加する C# プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。