Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/17: Рейтинг темы: голосов - 17, средняя оценка - 4.82
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
#1

Как скопировать файл в папку приложения

25.03.2012, 00:07. Просмотров 3024. Ответов 9
Метки нет (Все метки)

Нужно скопировать файл в папку приложения ...bin\debug\Music\

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
       private void button4_Click(object sender, EventArgs e)
        {
 
 
            Stream streem = null;
            //string distributiv = @"";
            //string distributiv2 = @"";
            //FileInfo file = new FileInfo();
            OpenFileDialog filedialog = new OpenFileDialog();
            filedialog.Filter = ("(*.wav)|*.wav");
            if (filedialog.ShowDialog() == DialogResult.OK)
            {
 
                if ((streem = filedialog.OpenFile()) != null)
                {
                    string fileName = filedialog.SafeFileName;
                    string sourcePath = filedialog.FileName;
                    string targetPath = @"Music";                   
                   
                    string destFile = System.IO.Path.Combine(targetPath, fileName);
                    System.IO.File.Copy(sourcePath, destFile, true);
                }
            }
 
        }
но за место этого он его копирует в "sursePath +destFile" объясните что не так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 00:07
Ответы с готовыми решениями:

Как скопировать папку с файлами в нужную папку?
Есть флешка, есть некая папка на флешке допустим D:/1 как скопировать всю папку...

Как создать папку или файл в папке приложения?
Есть приложение которое при первом запуске должно создать несколько файлов(в...

Скопировать файл в другую папку и переименовать его
В папке с нашей программой есть 2 dll файла TemplateXP.dll и TemplateW.dll....

Извлечь файл из ресурсов в папку приложения
Во внедренные ресурсы добавил файл 1.xlxs. Если при запуске программы, рядом с...

Как скопировать все *.jpg файлы с рабочего стола в папку на рабочем столе, не зная имени пользователя в пути?
Как скопировать все *.jpg файлы с рабочего стола в папку на рабочем столе, не...

9
Mr.kto
95 / 96 / 18
Регистрация: 18.08.2012
Сообщений: 308
25.03.2012, 00:11 #2
здесь и здесь
0
Yukikaze
25.03.2012, 00:26
  #3

Не по теме:

Mr.kto, не оставляйте ссылки на другие ресурсы, если вы нашли решение - разместите его в своем сообщении.

0
Памирыч
Почетный модератор
20866 / 8750 / 1080
Регистрация: 11.04.2010
Сообщений: 11,013
25.03.2012, 00:43 #4
Yukikaze, где Вы таких страстей начитались? Запрещены только ссылки на форумы
Отвечать мне не нужно.
0
Yukikaze
341 / 320 / 48
Регистрация: 12.12.2011
Сообщений: 563
25.03.2012, 00:50 #5
Несколько раз перечитал код, скомпилировал, но так и не понял, в чем вообще ошибка?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
OpenFileDialog filedialog = new OpenFileDialog();
            filedialog.Filter = ("(*.wav)|*.*");
            if (filedialog.ShowDialog() == DialogResult.OK)
            {
                if (filedialog.OpenFile() != null)
                {
                    string fileName = filedialog.SafeFileName; //Получили имя файла
                    string sourcePath = filedialog.FileName; //Получили абсолютный путь
                    string targetPath = @"Music";
 
                    string destFile = System.IO.Path.Combine(targetPath, fileName); // \Music\<fileName>
                    System.IO.File.Copy(sourcePath, destFile, true); //Копируем выбраный в OpenFileDialog файл в корень программы, в папку Music
                }
            }
Или вы ожидаете чего-то другого?

Не по теме:

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

1
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
25.03.2012, 03:31  [ТС] #6
Наглядней будет так.
В sourcePath лежит строка "C:\Downloads\dc++\temp\4.wav"
В destFile лежит @"Music\4.wav"
System.IO.File.Copy(sourcePath, destFile, true) этот метод копирует файл в "C:\Downloads\dc++\temp\Music\4.wav"
если папки нету то он ругается...
0
Yukikaze
341 / 320 / 48
Регистрация: 12.12.2011
Сообщений: 563
25.03.2012, 04:07 #7
SmallSexyMur, не может такого быть, тем более я только что опять проверил на чистом проекте, копирует в bin\Debug\Music\<fileName>.

Вот, добавил еще одну проверку
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
OpenFileDialog filedialog = new OpenFileDialog();
            filedialog.Filter = ("(*.wav)|*.*");
            if (filedialog.ShowDialog() == DialogResult.OK)
            {
                string fileName = filedialog.SafeFileName;
                string sourcePath = filedialog.FileName;
                string targetPath = @"Music";
 
                listBox1.Items.Add("Копируемый файл: " + sourcePath); // Проверка путей
 
                if (!Directory.Exists(targetPath)) //Если папки нет...
                    Directory.CreateDirectory(targetPath); //...создадим ее
 
                string destFile = Path.Combine(targetPath, fileName);
 
                listBox1.Items.Add("Целевая папка: " + destFile);  // Проверка путей
 
                File.Copy(sourcePath, destFile, true);
 
                Process.Start(targetPath); // ...открываем папку Music
            }
0
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
25.03.2012, 05:07  [ТС] #8
Скопировал ваш код. но ситуация такая же. Звучит странно.
0
Вложения
Тип файла: rar Будильник.rar (38.8 Кб, 33 просмотров)
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
25.03.2012, 05:18  [ТС] #9
могут быть вирусы. извиняюсь.

Добавлено через 10 минут
Конечно можно просто новый проект сделать. но интересно в чем же проблема
0
Yukikaze
341 / 320 / 48
Регистрация: 12.12.2011
Сообщений: 563
25.03.2012, 06:00 #10
SmallSexyMur, потестил ваш проект - копирование работает как часы, файл копируется в папку Music без каких либо нареканий
0
25.03.2012, 06:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 06:00

Как извлечь файл из своего приложения в папку?
Собственно есть такой вопрос, только совсем не пониманию как это работает... В...

Как удалить папку приложения?
Всем привет. Почему-то не нашел подобных вопросов. Имеем приложение, которое...

Не удалось скопировать файл. Процесс не может получить доступ к файлу, так как этот файл используется другим процессом
Ошибка 1 не удалось скопировать файл &quot;obj\x86\Debug\ConsoleApplication1.exe&quot; в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru