StreamWriterオブジェクトを使用して、コンストラクタによって作成されたファイルまたは既に存在するファイルのいずれかに書き込みます。ファイルが存在する場合は、データを追加します。そうでない場合は、ファイルを作成してデータを追加する必要があります。問題は、ファイルを作成する必要があるときに、StreamWriterコンストラクタがファイルを作成するが、ファイルにデータを書き込まないということです。StreamWriter - 作成したファイルに追加しない
bool fileExists = File.Exists(filePath);
using (StreamWriter writer = new StreamWriter(filePath, true))
{
if (!fileExists)
{
writer.WriteLine("start");
}
writer.WriteLine("data");
}
EDIT:答えを 感謝。 usingブロックは、ライターを閉じる処理を行います。それが他の人には効果的だと言えば、問題をさらに診断するための情報はありますか?このファイルはネットワーク上でローカライズされています。それが潜在的な問題になる可能性があります。断続的に、「パスの一部を見つけることができませんでした...」と「指定されたネットワーク名は使用できなくなりました」というエラーが表示されます。
私のために働きます - – weiqure
あなたのコードは私のマシンで完璧に動作します。 –
私のためにも動作します... @ダン、もう一度やり直してみてください。多分最初の実行で何かを見逃しましたか?使用しているステートメントは、閉鎖とフラッシングの世話をする必要があります... –