Рейтинг:
12
Richard Deeming
C:\Desktop\
это не путь к папке рабочего стола, а C:\Temp\
это не путь к папке temp. Реальные пути находятся в папке профиля пользователя.
Вы можете получить путь к папке temp с помощью:
System.IO.Path.GetTempPath()
Вы можете получить путь к папке рабочего стола с помощью:
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
Итак, чтобы сохранить файл на рабочем столе, вы должны использовать:
string destinationFilePath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory),
"new.doc");
В любом случае, первый параметр для вашего
CreateWordDocument
функция должна быть реальным путем к существующему файлу, который вы хотите открыть. Если вы укажете путь, который не существует, вы получите сообщение об ошибке (с ошибкой).
Richard MacCutchan
Я просто побежал FileStream strIn = File.Open(@"C:\temp\foo.txt", FileMode.Open);
, и это сработало нормально, открыл файл без проблем.
Richard Deeming
Но это не стандартное расположение папки Temp.
Если вы создадите папку под названием Temp
в корне C:
, и дайте вашей учетной записи необходимые разрешения, тогда она будет работать. Но он не будет существовать по умолчанию.
Richard MacCutchan
Ну моя система Windows 10 имеет Temp
каталог в корне моего диска C:. Понятия не имею, как он туда попал, но предполагаю, что его создала Windows. И поскольку это был путь, который использовал ОП, я (глупо?) предположил, что он/она проверил его существование через проводник.
Richard Deeming
Временная папка[^]:
В MS-DOS и Microsoft Windows временный каталог задается переменной среды TEMP
Первоначально по умолчанию было c:\Temp
, затем %WinDir%\Temp
В эпоху Windows XP временный каталог был установлен для каждого пользователя как Local Settings\Temp
, хотя все еще перемещаемый пользователем. Для Windows Vista, 7 и 8 временное местоположение снова переместилось в раздел AppData профиля пользователя, как правило C:\Users\User Name\AppData\Local\Temp
.
Richard MacCutchan
Интересный. Я только что проверил систему моей жены, в которой когда-либо были установлены только Windows 8 (очень кратко), 8.1 и 10, а также C:\Temp справочник. И я знать что она не создала бы его.
Richard Deeming
Какое-нибудь общее программное обеспечение между ними? Это похоже на приложение, которое не было обновлено, чтобы использовать правильный путь, и все еще создает файлы в пути DOS-эры.
Richard MacCutchan
Нет, Мой компьютер имеет множество вещей, установленных и деинсталлированных на умеренно регулярной основе. У нее стандартная Windows С MS Office 2003 (которая у меня была под Windows 7) - может быть, это и есть виновник.
У меня также есть доступ к некоторым стандартным системам Windows 7 и 10, которые я рассмотрю завтра.