Программирование >>  Автоматически обновляемые приложения 

1 ... 108 109 110 [ 111 ] 112 113 114 ... 170


Листинг 10.20. Получение свойств Фила у -

private void buttonl5 Click(object sender, EventArgs e) {

Вьшодим информацию о файле. System.10.Fiieinfo file = new

System. 10. Fiieinfo ((a c: \wutemp\text. txt ) ; listBoxl.Items.Clear();

listBoxl.Items.Add( Свойства для файла: + file.Name); listBoxl.Items.Add( Наличие файла: + file.Exists.ToString(; if (file.Exists) {

listBoxl.Items.Add( Время создания файла: ); listBoxl.Items.Add(file.CreationTime.ToString()); listBoxl.Items.Add( Последнее изменение файла: ); listBoxl.Items.Add(file.LastWriteTime.ToString()); listBoxl.Items.Add( Файл бьш открыт в последний раз: ); listBoxl.Items.Add(file.LastAccessTime.ToString О); listBoxl.Items.Add( Размер файла (в байтах): ); listBoxl.Items.Add(file.Length.ToStringО); listBoxl.Items.Add( Атрибуты файла: ); listBoxl.Items.Add(file.Attributes.ToString());

Как извлечь информацию о файле?

Некоторые файлы (например, исполняемые файлы ЕХЕ или динамические библиотеки DLL) содержат различную информацию. Если выбрать такой файл в Проводнике и через контекстное меню выбрать пункт Свойства, то можно увидеть эти свойства. Можно получить эту информацию и программным путем (листинг 10.21). Обратите внимание, что в этом случае используется пространство имен System. Diagnostics, а не System. 10, как МОЖНО бы-ло бы ожидать.

Листинг10.21. Извлечение информации о файле

private void button3 Click(object sender, EventArgs e) {

System.Diagnostics.FileVersionInfо info =

System.Diagnostics.FileVersionInfо.GetVersionInfо(

(3 C: \windows\system32\mspaint. exe



Как создать временный файл?

Для создания временного файла, который будет иметь уникальное имя и находиться в папке, определенной переменной окружения TEMP, нужно воспользоваться методом GetTempFileName КЛаССа System.10.Path (ЛИСТИНГ 10.22). Причем сама система позаботится об уникальности имени создаваемого файла.

\ Листинг 10.22. Создание временного Фила

private void button5 Click(object sender, EventArgs e) {

listBoxl.Items.Clear(); Создаем временный файл

listBoxl.Items.Add(System.10.Path.GetTempFileName() ;

Как создать уникальное имя для файла?

в .NET Framework 2.0 появился новый метод GetRandomFiieName, который

относится к классу system. Ю. Path. МетОД GetRandomFiieName ВОЗВращаеТ

случайным образом сгенерированную строку, которую можно использовать в качестве имени файла (листинг 10.23). Обратите внимание, что в отличие от

метода GetTempFileName, метОД GetRandomFiieName не СОЗДает Сам файл.

Выводим информацию о выбранном файле listBoxl.Items.Add( Выбранный файл: + infо.FileName); listBoxl.Items.Add( Product Name: + infо.ProductName); listBoxl.Items.Add( Product Version: + info.ProductVersion); listBoxl.Items.Add( Company Name: + infо.CompanyName); listBoxl.Items.Add( File Version: + infо.FileVersion); listBoxl.Items.Add( File Description: + infо.FileDescription) ; listBoxl.Items.Add( Original Filename: + info.OriginalFilename) ; listBoxl.Items.Add( Legal Copyright: + infо.LegalCopyright); listBoxl.Items.Add( InternalName: + info.InternalName); listBoxl.Items.Add( IsDebug: + infо.IsDebug); listBoxl.Items.Add( IsPatched: + infо.IsPatched); listBoxl.Items.Add( IsPreRelease: + infо.IsPreRelease); listBoxl.Items.Add( IsPrivateBuild: + infо.IsPrivateBuild); listBoxl.Items.Add( IsSpecialBuild: + infо.IsSpecialBuild);



\ Листинг 10.23. Создание уникального имени для файла

private void buttonl6 Click(object sender, EventArgs e) {

string randomFile = System.10.Path.GetRandomFileName(); MessageBox.Show(randomFile); вернет что-то типа 5wvzx2n0.Iby

При вызове данного метода получаются очень странные имена файлов типа 4rvzx0w.ls4. Если вам необходимо создать текстовый файл с уникальным именем, то удобнее использовать метод GetRandomFileName В связке с методом changeExtension, как показано В листинге 10.24.

; Лидгинг 10.24. Создание уникального текстового файла

string tempText = System.10.Path.ChangeExtension(

System.10.Path.GetRandomFileName(), .txt ); MessageBox.Show(tempText);

Как ограничить доступ к файлу?

Если вам необходимо закрыть доступ к файлу, то вы можете установить желаемый уровень доступа через перечисление FiieShare. Пример показан в листинге 10.25.

[листинг 10.25. Ограничение доступа к файлу

string fileName = (Э с:\test. txt ; FileStream stream = new FileStream(fileName,

FileMode.Open, FileAccess.Read, FiieShare.None); никому не даем доступ к файлу

здесь находится ваш код

открьшаем снова файл для доступа stream. Close О ;

Существует еще один вариант ограничения доступа к файлу (листинг 10.26).



1 ... 108 109 110 [ 111 ] 112 113 114 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика