Путь разработчика    

Посмотрите, заблокирован ли файл на C#


Некоторые приложения блокируют файлы, поэтому вы не можете писать, читать, удалять или каким-либо иным образом связываться с ними. Например, когда вы открываете файл в Microsoft Word, он блокирует файл, чтобы вы не могли его удалить или открыть для записи в другое приложение.

Следующий FileIsLocked метод возвращает true, если файл заблокирован для определенного типа доступа. Например, передайте этой процедуре значение доступа FileAccess.Write, если вы хотите узнать, заблокирован ли файл, чтобы вы не вписались в него.

// Возвращает true, если файл заблокирован для указанного доступа.
private bool FileIsLocked(string filename, FileAccess file_access)
{
    // Попробуйте открыть файл с указанным доступом.
    try
    {
        FileStream fs =
            new FileStream(filename, FileMode.Open, file_access);
        fs.Close();
        return false;
    }
    catch (IOException)
    {
        return true;
    }
    catch (Exception)
    {
        throw;
    }
}

Код просто пытается открыть файл для данного метода доступа и видит, вызывает ли это ошибку. Он использует блок try-catch для обработки любой ошибки, которая может возникнуть. Если ошибка является IOException, тогда метод предполагает, что файл заблокирован.

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

Источник: http://csharphelper.com/blog/2017/01/see-if-a-file-is-locked-in-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Сравните изображения, чтобы найти различия в C#

В этом примере вы можете сравнивать изображения, чтобы убедиться, что они одинаковые. Когда вы выбираете два изображения для сравнения и нажмите кнопку Go,...

16 11 2019 21:20:23

Что такое числовое продвижение? Java

Числовое продвижение, также известное как « Неявное преобразование» или «автоматическое преобразование Java», где автоматическое преобразование значения мен...

15 11 2019 7:11:10

Сортировка элемента управления ListView, используя все его столбцы в C#

Вы можете сделать сортировку ListView, установив для свойства Sorting значение Ascending или Descending, но это займет дополнительную работу по сортировке...

14 11 2019 9:44:18

Инициализировать массив массивов в C#

Пример Инициализация двумерных массивов в C# объясняет как инициализировать двумерный массив. Массив массивов несколько похож на двумерный массив, но с нек...

13 11 2019 22:13:50

Как получить длину строки в Java

Длина() объекта String возвращает длину этой строки. Длина строки Java такая же, как и юникодные кодовые единицы строки. Синтаксис: Нет параметра для lengt...

12 11 2019 19:39:34

Программирование под Android. 2-е изд. (Зигард Медникс, Лайрд Дорнин, Блэйк Мик)

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

11 11 2019 7:46:27

Сделайте простую гистограмму в C#

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

10 11 2019 11:14:53

Список каталогов и файлов Dropbox в C#

Dropbox - это служба обмена файлами. Бесплатная базовая версия позволяет легко разделить до 2 Г Б файлов через Интернет. Версия Pro $ 9,99 в месяц дает вам...

09 11 2019 10:52:36

Используйте «округление банкира» и «нормальное округление» в C#

По умолчанию метод Math.Round использует «округление банкира». При округлении банкира число с конечной цифрой 5 округляется до ближайшего четного числа, а...

08 11 2019 16:36:51

Меженный О.А. - Самоучитель Turbo Pascal

Данная книга предназначена научить читателя программировать на Turbo Pascal. Несмотря на то что это самоучитель, книга вполне может использоваться также в...

07 11 2019 6:43:13

Как генерировать случайные целые числа в определенном диапазоне в Java

В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом: min: минимальное значение max: максимальное значение Пример...

06 11 2019 14:22:39

Как отобразить текст в StatusLabel, даже если он не подходит для C#

Если текст, отображаемый в StatusLabel, слишком длинный, чтобы вписаться в содержащийся элемент StatusStrip, тогда по умолчанию StatusLabel не показывать ч...

05 11 2019 12:51:38

Как сделать сохранения в Unity 5 при помощи Newtonsoft.Json

В этом уроке мы разберем как сделать сохранения в Unity 5 при помощи библиотеки Newtonsoft.Json и разберем некоторые её свойства....

04 11 2019 20:32:31

Отобразить диалоговые формы многократного использования в C#

Пример Сделать диалог со стандартным диалогом функции на C# показывают наиболее распространенный подход к созданию диалогов. Всякий раз, когда ему нужно от...

03 11 2019 0:59:45

Класс OutPutStreamWriter в Java

OutPutStreamWriter записывает символы в выходной поток, переводя символы в байты в соответствии с указанной кодировкой символов. Каждый OutputStreamWriter...

02 11 2019 19:43:34

Инициализировать двумерные массивы в C#

Пример Инициализация массивов, списков и экземпляров классов в C# объясняется, как инициализировать одномерный массив. Вы можете использовать аналогичный с...

01 11 2019 5:46:51

Сохранение управляющих изображений WPF в C#

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

31 10 2019 9:10:26

Использовать глобальные привязки команд в WPF и C#

Пример Использование пользовательских привязок команд в WPF и C# объясняет, как вы можете использовать программу для пользовательских команд. ( Это запутанн...

30 10 2019 2:49:58

Треугольник Флойда и Треугольник Паскаля в C#

В этой статье мы напишем программу C# для печати треугольника Флойда и Треугольника Паскаля. Треугольник Флойда Вывод: Треугольник Паскаля Вывод:   Ис...

29 10 2019 7:52:20

Почему Java не поддерживает перегрузку оператора?

Java не «нуждается» в перегрузке оператора, потому что это просто выбор, сделанный его создателями, которые хотели сохранить язык более простым. В отличие...

28 10 2019 19:46:18

Сохранение и восстановление изображений, сделанных пользователем в C#

Оказывается, это замечательно легко. Следующий код показывает, как программа сохраняет объекты Polyline, хранящиеся в списке Polylines. В коде отображается...

27 10 2019 19:59:37

Сделайте слайдер с иглой в C#

Этот пример рисует вертикальную «иголку» в PictureBox, чтобы пользователь мог выбрать значение, как это делает TrackBar. Однако код выполняет весь чертеж,...

26 10 2019 15:17:43

Сделать созданный владельцем ListBox в C#

В этом примере показано, как вы можете сделать созданный владельцем ListBox. Обычно ListBox отображает текстовое представление своих объектов, но вы можете...

25 10 2019 15:43:32

Связать массивы и списки в C#

Один из способов отображения элементов в массиве в ListBox состоит в том, чтобы перебирать элементы и добавлять их в ListBox по одному, но есть более прост...

24 10 2019 2:39:17

Метод Split() в Java

Есть ситуация, когда строки содержат несколько фрагментов информации, тогда нам нужно разбить строку, чтобы извлечь отдельные фрагменты. Строки в Java можн...

23 10 2019 22:34:50

Разработка устройств на микроконтроллерах AVR: шагаем от чайника до профи (А. Белов)

Книга « Разработка устройств на микроконтроллерах AVR: шагаем от чайника до профи» Белова А. В. поможет Вам всего за шесть несложных шагов преодолеть путь от...

22 10 2019 16:37:32

Почему Java не поддерживает перегрузку оператора?

Java не «нуждается» в перегрузке оператора, потому что это просто выбор, сделанный его создателями, которые хотели сохранить язык более простым. В отличие...

21 10 2019 13:50:51

Обработка событий изменения значения NumericUpDown в C#

Сообщение Сделать NumericUpDown использовать десятичные значения в C# показывает, как вы можете сделать десятичные значения для элемента управления Numeric...

20 10 2019 1:47:19

Список доступных кодов культуры в C#

В этом примере показано, как вы можете составить список кодов культуры, доступных в системе. Несколько примеров C# Helper относятся к глобализации, включая...

19 10 2019 20:12:29

Почему Java не является чисто объектно-ориентированным языком?

Язык оцифрованного программирования (OOP) использует метод объектно-ориентированного программирования, который связывает связанные данные и функции с объек...

18 10 2019 18:23:29

Сделать владельцем рисованные всплывающие подсказки с картинками в C#

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

17 10 2019 16:27:40

Отображение предопределенных значков системы в C#

В этом примере отображаются доступные системные значки. Следующий способ DrawIconSample отображает значок и его название. Код вызывает метод Graphics объек...

16 10 2019 19:38:28

Как использовать анонимные методы в C#

Мой предыдущий пост Использование предопределенные типы делегатов Action, Func и EventHandler в C# объясняют, как использовать предопределенные общие типы...

15 10 2019 13:49:30

Как найти даты в цифрах Pi в C#

Пример Поиск паттернов внутри pi в C# ищет шаблоны внутри цифры Pi. Вы можете использовать этот пример для поиска таких дат, как 4/1. В этом примере опреде...

14 10 2019 10:18:38

Разница между HashMap и Hashtable в Java?

Оба HashTable и HashMap реализуют интерфейс карты, но между ними существуют некоторые различия. Они есть: Безопасность потоков (синхронизировано) Нулевые к...

13 10 2019 5:13:58

Получить имя исполняемого метода в C#

В этом примере показано, как вы можете получить имя метода для текущего исполняемого метода. Обычно вам не нужно получать это имя (вы можете просто посмотр...

12 10 2019 2:19:41

Как использовать * args и ** kwargs в Python

Параметр с ** (двойной звездой) и * (звезда) позволяет определять функции для принятия и для пользователей передавать любое количество аргументов, position...

11 10 2019 3:30:32

Карта между именами хостов и IP-адресами в C#

Когда вы вводите имя хоста и выбираете Go, программа использует следующий код для поиска хоста и отображения связанных с ним IP-адресов. Код очищает свой L...

10 10 2019 16:38:45

Актуальные языки программирования

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

09 10 2019 19:15:53

Массивы в C#

Массив в C#: Массив - это коллекция того же типа данных Массив может быть объявлен как фиксированный размер или динамический Массив может быть доступен по...

08 10 2019 17:26:51

Простой регистратор событий в C#

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

07 10 2019 2:46:14

Использование обработчика событий для нескольких элементов управления в C#

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

06 10 2019 11:59:57

Сделайте методы расширения subarray в C#

Метод Array класса Array класса может копировать подмассив из одного массива в другой, но для этого требуется выяснить, сколько элементов вы хотите скопиро...

05 10 2019 9:17:14

Сравнение строк в Java

Класс Java String имеет ряд методов сравнения строк. Ниже приведены некоторые из часто используемых методов: Операторы == для сравнения, а не значения, рав...

04 10 2019 16:32:59

Операции Java ArrayList

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

03 10 2019 14:56:46

Программирование для Android 5 (Денис Колисниченко)

Рассмотрены все основные аспекты создания приложений для платформы Android 5 (API 21): установка необходимого программного обеспечения (JDK, Eclipse и Andr...

02 10 2019 17:12:33

Сбор мусора в C#

В этом примере показано, как вы можете принудительно собрать сборку мусора на C#. Языки .NET используют схему сбора мусора управления памятью. Есть несколь...

01 10 2019 6:56:26

Запись значений в реестре в C#

Пример Чтение реестра значения (чтобы получить размер значка на рабочем столе) в C# показывают, как считывать значения из реестра. В этом примере показано,...

30 09 2019 19:34:53

Как сделать метафайл в C#

Пример Отображение метафайла Windows (wmf) в C# < / a> объясняет, как отображать метафайл и почему метафайлы могут давать лучшие результаты, чем растровые...

29 09 2019 18:30:29

Метод Contains() в Java

Java String contains()- метод чтобы проверить, содержит ли String указанную последовательность символов. Этот метод возвращает логический тип данных, котор...

28 09 2019 3:35:58


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69