Мой код отлично работает для создания файла, если он не существует и вставляет новый текст, или если файл уже существует, он перезаписывает текущее содержимое.C# - Как создать файл, если он еще не существует и добавить новый текст?
path = @"C:\MY FOLDER\data.txt";
FileStream fileS = null;
bool done = false;
while (!done)
{
done = true;
try
{
FileStream fileStream = File.Open(path, FileMode.OpenOrCreate);
fileStream.SetLength(0);
fileStream.Close();
fileS = File.OpenWrite(path);
}
catch (IOException ex)
{
done = false;
// Thread.Sleep(3);
}
}
using (StreamWriter fs = new StreamWriter(fileS))
{
fs.Write(textA);
fs.Close();
};
fileS.Dispose();
Теперь мне нужно изменить его так, он больше не перезаписывает содержимое, но вместо того, чтобы добавить новый текст к предыдущему содержимому. Во-вторых, мне нужно знать, является ли файл полностью пустым, и в этом случае вставьте textA
, или если есть уже некоторое содержимое, и в этом случае добавьте textB
.
Если это просто создание текстовых файлов, то 'File.AppendAllText (путь, текст);' делает все это для вас без суеты. Чтобы проверить, пустой ли файл, длина его в байтах, 0 пуст. – Equalsk
fileS = File.AppendAllText (путь, textA); throws error: Невозможно неявно преобразовать тип 'void' в 'System.IO.FileStream' – Totallama
Вы не можете просто выбросить код, который я предложил, в середину существующего метода и ожидать, что он будет работать. Идите и прочитайте о методе и о том, как его использовать и правильно его реализовать. – Equalsk