2016-11-29 3 views
0

Я пытаюсь «переместить» файл и переименовать его с помощью File.Move. Он работал до того, как мне нужно было добавить файлы хранилища в определенную папку. Так как добавление полного пути, я могу создавать файлы, я могу написать им, но как только я пытаюсь использовать File.Move это дает мне «NotSupportedException» пример некоторых из кода, который у меня есть,:Не поддерживается исключение при использовании File.Move

private static void myMethod(String file) 
    { 
     File.Delete(file); 
     using (sout = new StreamWriter(pathStart + "temp.txt")) 
     { 
      foreach(Deck deck in deckList) 
      { 
       if (deck != null) 
       { 
        sout.WriteLine(myString); 
        sout.WriteLine(otherString); 
        sout.Flush(); 
       } 
      } 
     } 
     File.Move(pathStart + "temp.txt", pathStart + file); 
     File.Delete(pathStart + "temp.txt"); 
    } 

Любая помощь будет принята с благодарностью.

+0

Какова ценность 'pathStart'? Вы должны использовать 'Path.Combine (pathStart," temp.txt "). Для справки исключение будет вызываться, если 'sourceFileName или destFileName находится в недопустимом формате. '(См. [Документация] (https://msdn.microsoft.com/en-us/library/system.io.file.move (v = vs.110) .aspx)) –

+0

pathStart - это путь копирования и вставки в мою файловую систему. – comphunter159

+0

, если вы поставили точки останова в своем коде, например, в этой строке 'File.Move (pathStart +" temp.txt ", файл pathStart +);' пожалуйста, обновите свой код и покажите нам, что это такое, когда вы выделяете его с помощью QuickWatch 'pathStart +" temp.txt ", pathStart + file' – MethodMan

ответ

0

Я предполагаю, что вы вводите метод с полным пути к файлу, так как сначала вы удаляете файл. Это имеет смысл только в том случае, если содержит полный путь к файлу. (ваш параметр «файл»)

В вызове «Перемещение» вы пытаетесь добавить этот файл в путь к файлу, и вот вы где: ошибка.

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

+0

с использованием метода' Path.Combine' все работало, как было предложено в другом вопросе – comphunter159

Смежные вопросы