
- •11. Организация работы с файлами
- •11.1. Использование стандартных диалоговых окон открытия и сохранения файлов
- •11.2. Использование стандартного диалогового окна обзора папок
- •11.3. Использование класса System.Io.File для работы с файлами
- •If (!File.Exists(path))
- •If (!File.Exists(path))
- •If (!File.Exists(path))
- •If (!File.Exists(path))
- •If (!File.Exists(path))
- •11.4. Использование класса System.Io.Directory для работы с папками
- •If (Directory.Exists(currentDir)) // Если папка существует
- •If (Directory.Exists(sourceDir) & Directory.Exists(destDir) &
- •If (Directory.Exists(destDir)) // Если папка существует
- •11.5. Использование класса System.Io.Path для работы со строкой пути к папке или файлу
- •If (Path.HasExtension(path1))
- •If (!Path.HasExtension(path2))
- •If (!Path.IsPathRooted(path3))
- •11.6. Использование класса System.Io.FileInfo для работы с файлами
- •If (!fi1.Exists)
- •11.7. Использование класса System.Io.DirectoryInfo для работы с файлами и папками
- •If (cd.Exists) // Если заданная папка существует...
- •If (sd.Exists & dd.Exists & !md.Exists)
- •If (dd.Exists) // Если папка существует
- •11.8. Использование класса System.Io.DriveInfo для работы с дисками
- •11.9. Использование класса System.Io.FileStream для работы с файлами
- •If (fs.CanRead && fs.CanWrite)
- •11.10. Использование классов System.Io.StreamReader и System.Io.StreamWriter для работы с файлами
If (!File.Exists(path))
File.WriteAllLines(path, st);
// Создание файла и запись строк в него.
// Открытие файла и добавление текста в него.
string AppSt = "Дополнительный текст\r\n";
File.AppendAllText(path, AppSt);
// Открытие файла и чтение строк из него.
st = File.ReadAllLines(path);
foreach (string s in st)
Console.WriteLine(s); // Вывод считанного текста на экран.
Console.ReadLine();
}
}
/* Вывод:
Hello
And
Welcome
Дополнительный текст
*/
Пример 11.7. Использование методов Exists, Create, GetAttributes, SetAttributes класса File для создания файла (в случае его отсутствия), а затем определения и установки атрибута этого файла (последовательные установка и снятие атрибута Hidden при каждом запуске).
using System;
using System.IO;
class TestAttributes
{ public static void Main()
{ string path = @"c:\temp\Test.txt";
// Создание файла, если он не существует
If (!File.Exists(path))
{ File.Create(path);
Console.WriteLine("Создан файл {0} .", path);
}
FileAttributes attributes = File.GetAttributes(path);
if ((attributes & FileAttributes.Hidden) ==
FileAttributes.Hidden) // Если файл скрытый
{ // Сделать файл нескрытым
File.SetAttributes(path, File.GetAttributes(path) &
~ FileAttributes.Hidden); // Снять атрибут
Console.WriteLine("Файл {0} больше не скрытый.", path);
}
else
{ // Сделать файл скрытым
File.SetAttributes(path, File.GetAttributes(path) |
FileAttributes.Hidden); // Установить атрибут
Console.WriteLine("Файл {0} стал скрытым.", path);
}
Console.ReadLine();
}
}
/* Вывод:
Создан файл c:\temp\Test.txt .
Файл c:\temp\Test.txt стал скрытым.
или
Файл c:\temp\Test.txt больше не скрытый.
*/
Пример 11.8. Использование методов Exists, CreateText, GetCreationTime, GetLastWriteTime, GetLastAccessTime, GetAttributes класса File для создания файла (в случае его отсутствия), а затем установки и определения свойств этого файла.
using System;
using System.IO;
class TestProperty
{ public static void Main()
{ string path = @"c:\temp\Test.txt";
If (!File.Exists(path))
{ // Создание файла
StreamWriter sw = File.CreateText(path);
sw.Close();
Console.WriteLine("Создан файл {0} .", path);
}
// Изменение времени создания файла.
File.SetCreationTime(path, new DateTime(2010,3,30));
// Изменение времени последней записи в файл.
File.SetLastWriteTime(path, new DateTime(2010,4,29));
// Изменение времени последнего доступа к файлу.
File.SetLastAccessTime(path, new DateTime(2010,5,14));
Console.WriteLine("Свойства файла изменены.");
// Получение времени создания файла.
DateTime dt = File.GetCreationTime(path);
Console.WriteLine("Время создания файла {0}.", dt);
// Получение времени последней записи в файл.
dt = File.GetLastWriteTime(path);
Console.WriteLine("Время последней записи в файл {0}.", dt);
// Получение времени последнего доступа к файлу.
dt = File.GetLastAccessTime(path);
Console.WriteLine("Время последнего доступа к файлу {0}.", dt);
// Обновление времени создания файла.
File.SetCreationTime(path, DateTime.Now);
// Обновление времени последней записи в файл.
File.SetLastWriteTime(path, DateTime.Now);
// Обновление времени последнего доступа к файлу.
File.SetLastAccessTime(path, DateTime.Now);
Console.WriteLine("Свойства файла обновлены.");
// Получение времени создания файла.
dt = File.GetCreationTime(path);
Console.WriteLine("Время создания файла {0}.", dt);
// Получение времени последней записи в файл.
dt = File.GetLastWriteTime(path);
Console.WriteLine("Время последней записи в файл {0}.", dt);
// Получение времени последнего доступа к файлу.
dt = File.GetLastAccessTime(path);
Console.WriteLine("Время последнего доступа к файлу {0}.", dt);
Console.ReadLine();
}
}
/* Вывод:
Создан файл c:\temp\Test.txt .
Свойства файла изменены.
Время создания файла 30.03.2010 0:00:00.
Время последней записи в файл 29.04.2010 0:00:00.
Время последнего доступа к файлу 14.05.2010 0:00:00.
Свойства файла обновлены.
Время создания файла 22.09.2012 10:42:36.
Время последней записи в файл 22.09.2012 10:42:36.
Время последнего доступа к файлу 22.09.2012 10:42:36.
*/