FileStream было предложено открыть устройство, которое не было файломC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 FileStream было предложено открыть устройство, которое не было файлом

Сообщение Anonymous »

Я отслеживаю заказы в FTP-папке, которые затем считываю в массив строк для дальнейшей обработки перед удалением файла.

В целом это работает, но иногда я получите следующее исключение:


FileStream было предложено открыть устройство, которое не было файлом. Для поддержки
таких устройств, как «com1:» или «lpt1:», вызовите CreateFile, а затем используйте
конструкторы FileStream, которые принимают дескриптор ОС в качестве IntPtr.
Stacktrace — в Microsoft. Win32.Win32Native.SafeCreateFile(String
lpFileName, Int32 dwDesiredAccess, FileShare dwShareMode,
SECURITY_ATTRIBUTES securityAttrs, FileMode dwCreationDisposition,
Int32 dwFlagsAndAttributes, IntPtr hTemplateFile) в
System .IO.FileStream. Init(String path, FileMode mode, FileAccess
доступ, права Int32, логическое значение useRights, общий ресурс FileShare, Int32
bufferSize, параметры FileOptions, SECURITY_ATTRIBUTES secAttrs, String
msgPath, логическое значение bFromProxy, логическое значение useLongPath, Логический checkHost)

в System.IO.FileStream..ctor (строковый путь, режим FileMode, доступ FileAccess
, общий ресурс FileShare, Int32 bufferSize, параметры FileOptions, String
msgPath, Логическое значение bFromProxy, логическое значение useLongPath, логическое значение checkHost)

в System.IO.StreamReader..ctor (путь к строке, кодирование кодировки,
логическое значение обнаруженияEncodingFromByteOrderMarks, Int32 bufferSize, логическое значение
checkHost) в System.IO.StreamReader..ctor(путь к строке, кодировка Encoding
) в System.IO.File.InternalReadAllLines(путь к строке,
кодировка кодировки) в System.IO.File.ReadAllLines(путь к строке )


Однако, глядя на имя файла и путь, я не ожидал, что выдаст такую ​​ошибку (например, com1.txt)


\\xxx.xxx.xxx.xxx\mbftp\4392-24979.ORD


Все имена файлов имеют один и тот же формат [аккаунт]-[номер заказа].ORD, номера аккаунтов всегда состоят из 4 цифр.

Вот код, который выдает ошибку:

Код: Выделить всё

try
{
if (Directory.Exists(GetElementValue("FTPOrderFolder")))
{
if (File.Exists(fullOrderFilename))
{
if (File.GetLastAccessTime(fullOrderFilename) < DateTime.Now.AddSeconds(-2))
{
order = File.ReadAllLines(fullOrderFilename);
if (order.Length > 0)
{
File.Delete(fullOrderFilename);
NLogHelper.Debug(this, $"Deleted order file : {fullOrderFilename}");

return order;
}
}
}
}
}
catch (Exception ex)
{
NLogHelper.HandledException(this, ex);
}
Я не могу понять, что это не постоянная ошибка. Я получаю доступ к файлу только через 2 секунды после последнего доступа, поэтому почти уверен, что это не блокировка. Кажется, это отображается в 30% обрабатываемых файлов заказов, причем 70% работают без ошибок.

Подробнее здесь: https://stackoverflow.com/questions/493 ... not-a-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • FileStream было предложено открыть устройство, которое не было файлом
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Удалите .Net Framework, но сохраните .Net Core (предложено Visual Studio).
    Гость » » в форуме C#
    0 Ответы
    31 Просмотры
    Последнее сообщение Гость
  • SymEngine-0.11 было предложено десериализовать объект, созданный с помощью SymEngine-0.13.'
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Эмулятор Android не запускается, и я не могу удалить файлы блокировки эмулятора, как предложено.
    Anonymous » » в форуме Android
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Несоответствие значения чтения между файлом jupyter и файлом .py
    Anonymous » » в форуме Python
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»