Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Класс Filelnfo






Класс Filelnfo предназначен для организации доступа к физическому файлу, который содержится на жестком диске компьютера. Он позволяет получать информацию об этом файле (например, о времени его создания, размере, атрибутах и т. п.), а также производить различные операции, например, по созданию файла или его удалению. Класс FileInfo наследует члены класса FileSystemInfo и содержит дополнительный набор членов, который приведен в следующей таблице:

Член Описание
AppendText() Создает объект StreamWriter для добавления текста к файлу
CopyTo() Копирует уже существующий файл в новый файл
Create() Создает новый файл и возвращает объект FileStream для взаимодействия с этим файлом
CreateText() Создает объект StreamWriter для записи текстовых данных в новый файл
Delete() Удаляет файл, которому соответствует объект FileInfo
Directory Возвращает каталог, в котором расположен данный файл
DirectoryName Возвращает полный путь к данному файлу в файловой системе
Length Возвращает размер файла
MoveTo() Перемещает файл в указанное пользователем место (этот метод позволяет одновременно переименовать данный файл)
Name Позволяет получить имя файла
Ореn() Открывает файл с указанными пользователем правами доступа на чтение, запись или совместное использование с другими пользователями
OpenRead() Создает объект FileStream, доступный только для чтения
OpenText() Создает объект StreamReader (о нем также будет рассказано ниже), который позволяет считывать информацию из существующего текстового файла
OpenWrite() Создает объект FileStream, доступный для чтения и записи

 

Как мы видим, большинство методов FileInfo возвращает объекты (FIleStream, StreamWriter, StreamReader и т. п.), которые позволяют различным образом взаимодействовать с файлом, например, производить чтение или запись в него. Приемы работы с данными потоками нам уже известны. Поэтому рассмотрим другие возможности класса FileInfo.

 

using System;

using System.Text;

using System.IO; //для работы с файловым вводом-выводом

using System.Text.RegularExpressions;

 

namespace MyProgram

{

class Program

{

static void Main()

{

//создаем новый файл и связываем с ним строковый поток

FileInfo f = new FileInfo(" text.txt");

StreamWriter fOut = new StreamWriter(f.Create());

//записываем в файл данные и закрываем строковый поток,

// при этом связь с физическим файлом для f не рвется

fOut.WriteLine(" ОДИН ДВА ТРИ...");

fOut.Close();

//получаем информацию о файле

Console.WriteLine(" *******" +f.Name File Inf+" **************");

Console.WriteLine(" File size: {0}", f.Length);

Console.WriteLine(" Creation: {0}", f.CreationTime);

Console.WriteLine(" Attributes: {0}", f.Attributes.ToString());

}

}

}

 

 

Рассмотрим следующий пример:

 

static void Main()

{

FileInfo f = new FileInfo(@" d: \prim\letter\letter1.txt");

f.CopyTo(@" d: \prim\bmp\letter.txt");

Directory.CreateDirectory(@" d: \prim\archives");

f.MoveTo(@" d: \prim\archives\letter1.txt");

f = new FileInfo(@" d: \prim\letter\letter2.txt");

f.Delete();

}

 

 

Рассмотрим еще один пример по удалению файлов:

 

static void printFile(FileInfo file)

{

Console.WriteLine(" ***** " +file.Name+" *****");

Console.WriteLine(" File size: {0}", file.Length);

Console.WriteLine(" Creation: {0}", file.CreationTime);

Console.WriteLine(" Attributes: {0}", file.Attributes.ToString());

}

 

static void Main(string[] args)

{

DirectoryInfo dir = new DirectoryInfo(@" d: \prim\bmp");

FileInfo[] files = dir.GetFiles();

if (files.Length! =0)

{

Console.WriteLine(" Найдено {0} файла", files.Length);

foreach (FileInfo f in files)

{

printFile(f);

f.Delete();

}

Console.WriteLine(" \nТеперь в каталоге содержится {0} файлов и можно его удалить",

dir.GetFiles().Length);

dir.Delete();

}

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.