Как скопировать файл в другой путь?

Я должен скопировать файл в другой путь, оставив оригинал, где это.

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

Метод CopyTo FileInfo будет работать?

48
задан mrblah 30 December 2009 в 12:20
поделиться

4 ответа

Взгляните на File.Copy()

Используя File.Copy вы можете указать имя нового файла как часть строки назначения.

Таким образом, что-то вроде

File.Copy(@"c:\test.txt", @"c:\test\foo.txt");

Смотрите также Как это сделать: Скопируйте, удалите и переместите файлы и папки (C# Руководство по программированию)

80
ответ дан 26 November 2019 в 18:44
поделиться

Да. Это сработает: FileInfo.CopyTo Method

Используйте этот метод для разрешения или предотвращения перезаписи существующего файла. Используйте метод CopyTo для предотвращения перезаписи существующего файла по умолчанию.

Все остальные ответы верны, но поскольку вы запросили FileInfo, вот пример:

FileInfo fi = new FileInfo(@"c:\yourfile.ext");
fi.CopyTo(@"d:\anotherfile.ext", true); // existing file will be overwritten
6
ответ дан 26 November 2019 в 18:44
поделиться

Файл::Копия копирует файл в целевую папку, а File::Move может как перемещать, так и переименовывать файл.

2
ответ дан 26 November 2019 в 18:44
поделиться

Вы также можете использовать File.Copy для копирования и File.Move для переименования его после слов.

// Copy the file (specify true or false to overwrite or not overwrite the destination file if it exists.
File.Copy(mySourceFileAndPath, myDestinationFileAndPath, [true | false]);

// EDIT: as "astander" notes correctly, this step is not necessary, as File.Copy can rename already...
//       However, this code could be adapted to rename the original file after copying
// Rename the file if the destination file doesn't exist. Throw exception otherwise
//if (!File.Exists(myRenamedDestinationFileAndPath))
//    File.Move(myDestinationFileAndPath, myRenamedDestinationFileAndPath);
//else
//    throw new IOException("Failed to rename file after copying, because destination file exists!");

EDIT
Commented out the "rename" code, потому что File. Скопировать можно уже за один шаг, как правильно отметил астронавт в комментариях.

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

.
4
ответ дан 26 November 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: