web-dev-qa-db-ja.com

現在のデータを上書きせずにテキストファイルにデータを書き込む方法

上書きせずにファイルにデータを書き込む方法がわからないようです。 File.appendtextを使用できることは知っていますが、それを構文にプラグインする方法がわかりません。ここに私のコードがあります:

TextWriter tsw = new StreamWriter(@"C:\Hello.txt");

//Writing text to the file.
tsw.WriteLine("Hello");

//Close the file.
tsw.Close();

以前のテキストファイルを上書きするのではなく、プログラムを実行するたびにHelloを書き込むようにします。これを読んでくれてありがとう。

24
llk

trueを渡します コンストラクタのappendパラメーターとして

TextWriter tsw = new StreamWriter(@"C:\Hello.txt", true);
53
SLaks

コンストラクターを変更して、2番目の引数としてtrueを渡します。

TextWriter tsw = new StreamWriter(@"C:\Hello.txt", true);
10
sarvesh

new StreamWriter(filename, true)として開いて、上書きする代わりにファイルに追加する必要があります。

5
Jesus Ramos

ログファイルに値を書き込むコードの塊を次に示します。ファイルが存在しない場合は作成し、存在しない場合は既存のファイルに追加します。 「System.IOを使用」を追加する必要があります。コードの先頭に、まだない場合は。

string strLogText = "Some details you want to log.";

// Create a writer and open the file:
StreamWriter log;

if (!File.Exists("logfile.txt"))
{
  log = new StreamWriter("logfile.txt");
}
else
{
  log = File.AppendText("logfile.txt");
}

// Write to the file:
log.WriteLine(DateTime.Now);
log.WriteLine(strLogText);
log.WriteLine();

// Close the stream:
log.Close();
4
Sagar Kute

一番いいのは

File.AppendAllText("c:\\file.txt","Your Text");
2
Umesh CHILAKA

まず、ファイル名が既に存在するかどうかを確認します。存在する場合は、ファイルを作成して同時に閉じ、AppendAllTextを使用してテキストを追加します。詳細については、以下のコードを確認してください。


string FILE_NAME = "Log" + System.DateTime.Now.Ticks.ToString() + "." + "txt"; 
string str_Path = HostingEnvironment.ApplicationPhysicalPath + ("Log") + "\\" +FILE_NAME;


 if (!File.Exists(str_Path))
 {
     File.Create(str_Path).Close();
    File.AppendAllText(str_Path, jsonStream + Environment.NewLine);

 }
 else if (File.Exists(str_Path))
 {

     File.AppendAllText(str_Path, jsonStream + Environment.NewLine);

 }
1
user4064065

Fileクラスを調べます。

でストリームライターを作成できます

StreamWriter sw = File.Create(....) 

で既存のファイルを開くことができます

File.Open(...)

テキストを簡単に追加できます

File.AppendAllText(...);
1
Tod
using (StreamWriter writer = File.AppendText(LoggingPath))
{
    writer.WriteLine("Text");
}
0
BrandonZeider