Си шарп расширение файла

Работа с файловой системой в C#. Работа с файлами (классы File и FileInfo)

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Аналогично тому, как организована работа с каталогами в C#, для работы с файлами в пространстве имен System.IO предусмотрено два класса для работы с файлами — File и FileInfo . Рассмотрим как можно использовать эти классы при работе с файловой системой в C#. Однако, прежде, чем мы приступим к рассмотрению функциональности новых классов, необходимо рассмотреть вопрос о том, как получить список файлов в определенном каталоге.

DirectoryInfo (продолжение)

При рассмотрении вопросов, связанных с работой с каталогами файловой системы в C# мы оставили не рассмотренным вопрос о том, как получить список файлов в директории. Рассмотрим этот вопрос сейчас. В самом простом случае, мы можем воспользоваться методом GetFiles() , например, так:

using System; using System.IO; namespace FileSystem < class Program < static void Main(string[] args) < string root = @"C:\"; try < DirectoryInfo directory = new DirectoryInfo(root); FileInfo[] files = directory.GetFiles(); foreach (FileInfo file in files) < Console.WriteLine(file.FullName); >> catch (Exception ex) < Console.WriteLine(ex.Message); >> > >

В этом случае программа выдаст нам список всех файлов находящихся в определенном каталоге. В приведенном выше примере вывод консоли будет примерно следующим:

Читайте также:  Php get image mime type

То есть, при использовании метода GetFiles() без параметров просматривается только конкретный каталог. У метода GetFiles() имеется ряд переопределенных версий, позволяющих организовать поиск вглубь для того, чтобы вывести список файлов, находящихся не только в конкретном каталоге, но и во всех поддиректориях. Например, просмотрим все файлы в каталоге C:\Program Files (x86)

string root = @"c:\Program Files (x86)\"; try < DirectoryInfo directory = new DirectoryInfo(root); FileInfo[] files = directory.GetFiles("*.*",SearchOption.AllDirectories); foreach (FileInfo file in files) < Console.WriteLine(file.FullName); >> catch (Exception ex) < Console.WriteLine(ex.Message); >>

Здесь мы воспользовались переопределенной версией метода GetFiles() у которого первый параметр представляет собой маску по которой будут искаться файлы (например, мы могли бы задать вот такую маску для поиска только текстовых файлов — « *.txt «), а второй параметр — настройки поиска (в нашем случае — это SearchOption.AllDirectories , что указывает на то, что поиск будет вестись по всех каталогам).

Отдельное внимание стоит уделить такому моменту: если вы попытаетесь провести поиск как в примере по всем каталогам на диске C:\ , то можете столкнуться ситуацией, когда программа вместо списка файлов выдаст вам исключение типа «Access to the path ‘c:\Documents and Settings’ is denied.» Это связано с тем, что для каждой директории в Windows можно установить права доступа для определенных пользователей и наша программа на C# не может зайти в директорию так как не обладает достаточными для этого правами. Самый простой способ избежать это исключение состоит в том, чтобы организовать свой рекурсивный обход дерева каталогов. Этот момент мы с вами также рассмотрим в последующих статьях. Ну а теперь перейдем непосредственно к нашей теме.

Класс FileInfo

Ниже представлены наиболее часто используемые свойства и методы работы с файлами посредством класса FileInfo :

  • CopyTo(path) — копирует файл в новое место по указанному пути path
  • Create() — создает файл
  • Delete() — удаляет файл
  • MoveTo(destFileName) — перемещает файл в новое место
  • Свойство Directory — получает родительский каталог в виде объекта DirectoryInfo
  • Свойство DirectoryName — получает полный путь к родительскому каталогу
  • Свойство Exists — указывает, существует ли файл
  • Свойство Length — получает размер файла в байтах
  • Свойство Extension — получает расширение файла
  • Свойство Name — получает имя файла
  • Свойство FullName — получает полное имя файла
Читайте также:  Ubuntu нет файла php ini

Как в C# создать файл и записать в него данные?

Для создания нового файла и записи в него данных можно воспользоваться методом Create() :

using System; using System.IO; using System.Text; namespace FileSystem < class Program < static void Main(string[] args) < try < FileInfo fileInfo = new FileInfo(@"c:\CSharp Output\MyFile.txt"); FileStream fs = fileInfo.Create(); fs.Write(Encoding.UTF8.GetBytes("Привет, мир!")); fs.Close(); >catch (Exception ex) < Console.WriteLine(ex.Message); >> > >

Или же, если мы точно знаем, что нам необходим текстовый файл, то воспользоваться методом CreateText() :

using System; using System.IO; namespace FileSystem < class Program < static void Main(string[] args) < try < FileInfo fileInfo = new FileInfo(@"c:\CSharp Output\MyFile.txt"); StreamWriter sw = fileInfo.CreateText(); sw.WriteLine("Привет, мир!"); sw.Close(); >catch (Exception ex) < Console.WriteLine(ex.Message); >> > >

В отличие от Create() метод CreateText() возвращает нам объект типа StreamWriter , который предоставляет удобные методы и свойства для работы в том числе и со строками, поэтому во втором примере нам не понадобилось преобразовывать строку в массив байтов для записи в файл. В свою очередь, метод Create() удобно использовать для записи бинарных файлов.

Как в C# получить информацию о файле?

Чтобы получить информацию о файле мы можем воспользоваться свойствами класса FileInfo , например, как показано ниже:

try < FileInfo fileInfo = new FileInfo(@"c:\CSharp Output\MyFile.txt"); Console.WriteLine($"Полное имя файла: "); Console.WriteLine($"Дата создания: "); Console.WriteLine($"Дата последнего доступа: "); Console.WriteLine($"Дата последней записи в файл: "); Console.WriteLine($"Размер файла: "); Console.WriteLine($"Имя файла: "); Console.WriteLine($"Директория в которой содержится файл: "); > catch (Exception ex)

Как в C# переместить файл в новое место?

Для перемещения файла в другой каталог в C# используется метод MoveTo() :

string path = @»c:\CSharp Output\MyFile.txt»; string newPath = @»c:\CSharp Output\SubDir\MyFile.txt»; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists)

Перед тем, как перемещать файл в другой каталог необходимо обязательно проверить существование этого каталога на диске и, если каталог отсутствует, то создать его, иначе мы получим исключение.

Как в C# копировать файл?

Копирование файла в C# осуществляется с помощью метода CopyTo() :

string path = @»c:\CSharp Output\MyFile.txt»; string newPath = @»c:\CSharp Output\SubDir\MyFile.txt»; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists)

Методы CopyTo() и MoveTo() класса FileInfo также имет переопределенные версии в которых вторым параметром выступает параметр булевого типа ( bool ) который указывает на то, необходимо ли перезаписать содержимое файла, если он уже содержится по указанному пути. Если этот параметр равен false (или используется метод с одним параметром), то при обнаружении по новому пути указанного файла C# сгенерирует исключение.

Как в C# удалить файл?

Для удаления файла с диска в C# используется метод Delete() :

string path = @»c:\CSharp Output\MyFile.txt»; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists)

Класс File

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

  • Copy() — копирует файл в новое место
  • Create() — создает файл
  • Delete() — удаляет файл
  • Move() — перемещает файл в новое место
  • Exists(file) — определяет, существует ли файл

Подробно описывать работу каждого методы не будем, так как они реализуют ровно те же операции, что и в классе FileInfo .

Итого

Рассмотрели работу с файлами в C#, остановившись подробнее на работе с классом FileInfo . Научились создавать файлы и записывать в них данные, перемещать, копировать и удалять файлы в C#, а также получать информацию о конкретном файле.

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Источник

Типы и расширения файлов в Visual Studio для с#

В интегрированной среде разработки предусмотрено несколько способов перемещения между окнами и между файлами в зависимости от предпочтений пользователя или требований проекта. Можно выбрать вариант переключения между файлами в редакторе либо переключения между всеми активными окнами инструментов в интегрированной среде разработки. Также можно непосредственно переходить к любому открытому в редакторе файлу независимо от того, в каком порядке они просматривались. Эти функции могут повысить производительность работы в интегрированной среде разработки. Перемещение между открытыми файлами Перемещение между окнами можно осуществлять несколькими способами:

  1. Перемещаться между открытыми окнами можно с помощью команд Назад и Вперед в программном меню Вид.
  2. Для перехода к определенному файлу, открытому в редакторе, независимо от порядка их открытия можно использовать Навигатор IDE, который вызывается с помощью сочетания клавиш CTRL + TAB. Далее удерживая клавишу CTRL и нажимая клавишу со стрелкой (влево или вправо) или TAB несколько раз выделите файл, к которому требуется перейти.. После отпускания клавиши CTRL произойдет автоматический переход к выбранному файлу.

  1. В правом верхнем углу редактора нажмите кнопку Активные файлы, расположенную рядом с кнопкой Закрыть, а затем выберите нужный файл

Перемещение между окнами инструментов в интегрированной среде разработки Навигатор IDE также позволяет перемещаться между окнами инструментов, открытыми в среде разработки. Для вызова навигатора IDE, позволяющего переключаться между окнами инструментов в произвольном порядке, необходимо использовать сочетание клавиш ALT + F7. Удерживая клавишу ALT, нажмите клавишу F7 несколько раз, чтобы выделить окно, к которому требуется перейти.

Для продолжения скачивания необходимо пройти капчу:

Источник

14. Операции с файлами.

Файл – это набор данных, который хранится на внешнем запоминающем устройстве (например на жестком диске). Файл имеет имя и расширение. Расширение позволяет идентифицировать, какие данные и в каком формате хранятся в файле.

Под работой с файлами подразумевается:

  • cоздание файлов;
  • удаление файлов;
  • чтение данных;
  • запись данных;
  • изменение параметров файла (имя, расширение…);
  • другое.

Для работы с файлами в C# существуют классы File и FileInfo. С их помощью мы можем создавать, удалять, перемещать файлы, получать их свойства и многое другое.

Класс File реализует функциональность с помощью статических методов:

  • Copy() : копирует файл в новое место
  • Create() : создает файл
  • Delete() : удаляет файл
  • Move() : перемещает файл в новое место
  • Exists() : определяет, существует ли файл

Некоторые полезные методы и свойства класса FileInfo:

  • CopyTo() : копирует файл в новое место по указанному пути path
  • Create() : создает файл
  • Delete() : удаляет файл
  • MoveTo() : перемещает файл в новое место
  • Свойство Directory : получает родительский каталог в виде объекта DirectoryInfo
  • Свойство DirectoryName : получает полный путь к родительскому каталогу
  • Свойство Exists : указывает, существует ли файл
  • Свойство Length : получает размер файла
  • Свойство Extension : получает расширение файла
  • Свойство Name : получает имя файла
  • Свойство FullName : получает полное имя файла

Получение имени файла

string path = @"C:\apache\hta.txt"; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists) < Console.WriteLine("Имя файла: ", fileInf.Name); Console.WriteLine("Время создания: ", fileInf.CreationTime); Console.WriteLine("Размер: ", fileInf.Length); > 

Удаление файла

string path = @"C:\apache\hta.txt"; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists) < fileInf.Delete(); // или // File.Delete(path); > 

Перемещение файла

string path = @"C:\apache\hta.txt"; string newPath = @"C:\SomeDir\hta.txt"; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists) < fileInf.MoveTo(newPath); // альтернатива с помощью класса File // File.Move(path, newPath); > 

Копирование файла

Метод CopyTo класса FileInfo принимает два параметра: путь, по которому файл будет копироваться, и булевое значение, которое указывает, надо ли при копировании перезаписывать файл (если true, как в случае выше, файл при копировании перезаписывается). Если же в качестве последнего параметра передать значение false, то если такой файл уже существует, приложение выдаст ошибку.

Метод Copy класса File принимает три параметра: путь к исходному файлу, путь, по которому файл будет копироваться, и булевое значение, указывающее, будет ли файл перезаписываться.

string path = @"C:\apache\hta.txt"; string newPath = @"C:\SomeDir\hta.txt"; FileInfo fileInf = new FileInfo(path); if (fileInf.Exists) < fileInf.CopyTo(newPath, true); // альтернатива с помощью класса File // File.Copy(path, newPath, true); > 

Запись всего текста в файл

File.WriteAllText("D:\\new_file.txt", "текст"); 

Дописать текст в конец файла

File.AppendAllText("D:\\new_file.txt", "текст"); //допишет текст в конец файла 

Использование потоков

Чтение файла

FileStream file1 = new FileStream("d:\\test.txt", FileMode.Open); //создаем файловый поток StreamReader reader = new StreamReader(file1); // создаем «потоковый читатель» и связываем его с файловым потоком Console.WriteLine(reader.ReadToEnd()); //считываем все данные с потока и выводим на экран reader.Close(); //закрываем поток 

Запись в файл

FileStream file1 = new FileStream("d:\\test.txt", FileMode.Create); //создаем файловый поток StreamWriter writer = new StreamWriter(file1); //создаем «потоковый писатель» и связываем его с файловым потоком writer.Write("текст"); //записываем в файл writer.Close(); //закрываем поток. Не закрыв поток, в файл ничего не запишется 

Пример работы с File

using System; using System.IO; class Test < public static void Main( ) < string path = @"c:\temp\MyTest.txt"; if (!File.Exists(path)) < // Создаем файл using (StreamWriter sw = File.CreateText(path)) < // Записываем в него три строки sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome"); > > // Открываем файл using (StreamReader sr = File.OpenText(path)) < // Считываем из него строки string s = ""; while ((s = sr.ReadLine()) != null) < // И выводим их на экран Console.WriteLine(s); > > > 

results matching » «

No results matching » «

Источник

Оцените статью