shipra goyal Ответов: 6

загрузка файла с помощью настольного приложения c#


всем привет!!!
при загрузке файла в настольное приложение c# я использую
File.copy но это используется только для копирования файла в другой файл..
и я хочу скопировать файл в папку или directory..so пожалуйста, помогите мне в этом...

ezrasoft

всем привет
я хотел бы сделать приложение которое сохраняет файлы такие как ms word xml ppt pdf просто чтобы упомянуть их в базе данных ms access для настольного компьютера Как я могу это сделать

6 Ответов

Рейтинг:
2

Sarin VT

Попробуйте выполнить следующий код

public class SimpleFileCopy
{
    static void Main()
    {
        string fileName = "test.txt";
        string sourcePath = @"C:\Users\Public\TestFolder";
        string targetPath =  @"C:\Users\Public\TestFolder\SubDir";

        string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
        string destFile = System.IO.Path.Combine(targetPath, fileName);

        if (!System.IO.Directory.Exists(targetPath))
        {
            System.IO.Directory.CreateDirectory(targetPath);
        }

        // To copy a file to another location and  
        // overwrite the destination file if it already exists.
        System.IO.File.Copy(sourceFile, destFile, true);

        // To move a file or folder to a new location:
        System.IO.File.Move(sourceFile, destinationFile);
 
        if (System.IO.Directory.Exists(sourcePath))
        {
            string[] files = System.IO.Directory.GetFiles(sourcePath);
 
            foreach (string s in files)
            {
                fileName = System.IO.Path.GetFileName(s);
                destFile = System.IO.Path.Combine(targetPath, fileName);
                System.IO.File.Copy(s, destFile, true);
            }
        }
        else
        {
            Console.WriteLine("Source path does not exist!");
        }
    }
}
.


Joezer BH

5

Рейтинг:
2

Joezer BH

Ваше предположение неверно.
Файл.Копировать можно скопировать файл в другой каталог (он же папка)

public static void Copy(
	string sourceFileName,
	string destFileName
)


См. пример кода:
// Recursive function to copy a folder's content into another folder
void Copy(string sourceDir, string targetDir)
{
    Directory.CreateDirectory(targetDir);

    foreach(var file in Directory.GetFiles(sourceDir))
        File.Copy(file, Path.Combine(targetDir, Path.GetFileName(file)));

    foreach(var directory in Directory.GetDirectories(sourceDir))
        Copy(directory, Path.Combine(targetDir, Path.GetFileName(directory)));
}


Удачи,
Эдо


Рейтинг:
12

shipra goyal

OpenFileDialog file = new OpenFileDialog();
            file.Multiselect = false;
            file.ShowDialog();
            txtfilename.Text = file.FileName;
 File.Copy(file.FileName,Path.Combine( @"full path of folder",Path.GetFileName(file.FileName)));


Рейтинг:
1

OriginalGriff

Файл.Копирование отлично работает между папками и между дисками: просто укажите полный путь к источнику и месту назначения:

File.Copy(@"D:\Temp\MyFile.txt", @"E:\Backups\Temporary\MyFile.txt.bak");
Единственная проблема, с которой вы можете столкнуться, - это если папка назначения не существует, и в этом случае вам придется сначала создать ее.


Joezer BH

5

Рейтинг:
1

Sarin VT

// Чтобы скопировать файл в другое место и
// перезапишите целевой файл, если он уже существует.

System.IO.File.Copy(sourceFile, destFile, true);


// Для перемещения файла или папки в новое место:
System.IO.File.Move(sourceFile, destinationFile);


Рейтинг:
1