2075 / C# / Запис
1.
using System.IO;
File.WriteAllText(@"D:\MyCSharp\1.txt", "Текст");
2.
using (string fileName = @"D:\MyCSharp\1.txt") {
StreamWriter sw = File.AppendText(fileName);
sw.WriteLine("Лінія 1");
sw.WriteLine("Лінія 2");
sw.WriteLine("Лінія 3");
}
sw.Close() - закриває файл і звільняє всі ресурси
sw.Flush() - записує в файл данні з буферу і очищує буфер
3.
using (StreamWriter sw = new StreamWriter("Dirs.txt")) {
foreach (DirectoryInfo dir in dirArr) {
sw.WriteLine(dir.Name);
}
}
// sw.Close(), sw.Flush() - не потрібні
4.
string[] lines = new string[]{"Лінія 1", "Лінія 2", "Лінія 3"};
File.WriteAllLines(@"D:\MyCSharp\1.txt", lines);
5.
string fileName = @"D:\My\1.txt";
File.AppendAllLines(fileName, "Лінія 1");
File.AppendAllLines(fileName, "Лінія 2");
File.AppendAllLines(fileName, "Лінія 3");
6.
string[] moreLines = new string[]{"Лінія 1", "Лінія 2", "Лінія 3"};
File.AppendAllLines(@"D:\MyCSharp\1.txt", moreLines);
Перевірка
if (File.Exists(path)){ // !File.Exists(path)
}
Видалити файл
File.Delete(path); // якщо видалити кілька разів, помилка не генерується
Створити і видалити папку
Directory.CreateDirectory(path);
Directory.Delete(path); // якщо видалити кілька разів - буде помилка
Текстові файли (без підтек)
DirectoryInfo d = new DirectoryInfo(@"D:\Test");
FileInfo[] files = d.GetFiles("*.txt");
foreach(FileInfo file in files)
{
Console.WriteLine(file.Name);
}
Лише файли що закінчуються на a (і в підтеках)
string[] directoryEntries = Directory.GetFileSystemEntries(".", "*a");
Теки
var directories = Directory.GetDirectories(path);
Файл чи тека?
FileAttributes attr = File.GetAttributes(@"c:\Temp");
if (attr.HasFlag(FileAttributes.Directory)) {
Console.WriteLine("Тека");
}
else
{
Console.WriteLine("Файл");
}
Створити теку
Directory.CreateDirectory(path);