«IOException: на диске недостаточно места». пока места достаточно - PullRequest
1 голос
/ 05 марта 2012

Я сделал последовательность операций (на локальном диске):

  1. Скопировать файл в ###. Bak
  2. Сохранить файл в ###
  3. Удалить файл ###. Bak

Код:

File.Copy(filename, filename + ".bak");
TextWriter writer = new StreamWriter(filename);
writer.Write(content);
writer.Close();
File.Delete(filename + ".bak");

Во время удаления я получил исключение:

IOException: There is not enough space on the disk.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)

Размер обоих файлов не более нескольких МБ. И я проверил - на диске достаточно свободного места (более нескольких гигабайт). Каковы возможные причины таких ситуаций?

Это настольное приложение (WPF), работающее на диске ОС под учетной записью администратора.

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

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

0 голосов
/ 05 марта 2012

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

...