Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
22 / 21 / 8
Регистрация: 17.02.2011
Сообщений: 384
1
.NET 4.x

FileInfo.Replace выдает разнообразные ошибки

07.07.2011, 12:01. Показов 1905. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, не подскажите. что я делаю не так. Хочу переместить один файл в другое место и заменить там файл точно с таким же именем на перенесенный. Постоянно выдает ошибку, что невозможно удалить заменяемый файл. И что только не делал и клозил, и диспозил, и к Null прираванивал, ни чего не помогает. Хотя по отдельности методом Delete, оба файла, и ичтоник и цель, удаляются свободно.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  FileInfo filePathTargetF4Class ;
        FileInfo filePathSourceF4Class;
       
 
        public Form4(string filePathSource, string lastPositionNN, string filePathTarget)    
    {
                   filePathSourceF4 = filePathSource;
        lastPositionF4 = lastPositionNN;
        filePathTargetF4 = filePathTarget;
            InitializeComponent();
                    
        }
 
       private void Form4_Load(object sender, EventArgs e)
       {
           filePathTargetF4Class = new FileInfo(filePathTargetF4); 
           filePathSourceF4Class = new FileInfo(filePathSourceF4);
           pictureBox1.ImageLocation = filePathTargetF4;
           pictureBox2.ImageLocation = filePathSourceF4;
           label4.Text = "Размер: " + (filePathTargetF4Class.Length / 1000).ToString() + " kB"; //!!
           label6.Text = "Размер: " + (filePathSourceF4Class.Length / 1000).ToString()+" kB";
 
            Image ImageTarget = Image.FromFile(filePathTargetF4);
Image ImageSource = Image.FromFile(filePathSourceF4);
label5.Text = "Размер: " + ImageTarget.Width + "x" + ImageTarget.Height;
label7.Text = "Размер: " + ImageSource.Width + "x" + ImageSource.Height;
 
       }
....
private void button1_Click(object sender, EventArgs e)
       {
           //filePathTargetF4Class.Delete();
           //filePathTargetF4Class = null;
           //pictureBox1.ImageLocation = "";
           //filePathSourceF4Class
          //filePathTargetF4Class.Replace(filePathSourceF4, "fg", false);
           filePathSourceF4Class.Replace(filePathTargetF4, "dfgd",false);
           //filePathSourceF4Class.Delete();
       }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2011, 12:01
Ответы с готовыми решениями:

Почему списки List вызывают разнообразные ошибки, если один и тот же объект разместить в двух разных списках?
И можно ли избежать этих ошибок (исключая альтернативы, записи в массив)?

FileInfo выдает ошибку
Помогите пожалуйста! На странице ест image и две кнопки для листание фото, написал функцию на...

Разнообразные ошибки на свежесобранном компе
Добрый Вечер. сюда пишу или нет. но я уверен что сюда. Имеется такое оборудование ASUS...

Неоткрывающиеся настройки, разнообразные ошибки в процессе работы и т. п.
В общем мне это уже в край надоело. Сначала, глючил пуск, просто не реагировал, ладно гугол помог,...

4
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
07.07.2011, 14:22 2
так ты сначала пытаешься удалить, а потом присваиваешь null, попробуй так:

C#
1
2
3
4
5
6
filePathTargetF4Class = null;
pictureBox1.ImageLocation = null;
filePathTargetF4Class.Delete();
filePathTargetF4Class.Replace(filePathSourceF4, "fg", false);
filePathSourceF4Class.Replace(filePathTargetF4, "dfgd",false);
filePathSourceF4Class.Delete();
и напиши хоть Exception который он тебе показывает.
1
22 / 21 / 8
Регистрация: 17.02.2011
Сообщений: 384
07.07.2011, 14:41  [ТС] 3
Цитата Сообщение от FakiR Посмотреть сообщение
так ты сначала пытаешься удалить, а потом присваиваешь null, попробуй так:
Нет, null у меня появился гараздо раньше, поэтому он у меня строкой ниже. И проблема не в том, что у меня не получается удалять. Удаляет он свободно без постановки в Null или Close. На самом деле я уже почти все перепробовал. Он не хочет только перемещать, пишет.


System.IO.IOException не обработано
Message=Не удается удалить заменяемый файл.
0
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
07.07.2011, 14:45 4
P.S. - думаю лучше делать так:
C#
1
2
3
4
filePathTargetF4Class = null;
pictureBox1.ImageLocation = null;
filePathTargetF4Class.Delete();
filePathSourceF4Class.MoveTo("здесь пишешь полный путь для копирования");
1
22 / 21 / 8
Регистрация: 17.02.2011
Сообщений: 384
07.07.2011, 16:00  [ТС] 5
[QUOTE=FakiR;1824514]так ты сначала пытаешься удалить, а потом присваиваешь null, попробуй так:


Добавлено через 52 секунды
Цитата Сообщение от FakiR Посмотреть сообщение
P.S. - думаю лучше делать так:
C#
1
2
3
4
filePathTargetF4Class = null;
pictureBox1.ImageLocation = null;
filePathTargetF4Class.Delete();
filePathSourceF4Class.MoveTo("здесь пишешь полный путь для копирования");
Да понятно. НО изящество то не хватает. Ведь метод есть и он работает.

Добавлено через 1 час 13 минут
По сути не работает даже вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
         private void Form1_Load(object sender, EventArgs e)
        {
            File.WriteAllText("C:\\000\\test.txt", "АУУУУ");
 
            // Write to local file 2.
            File.WriteAllText("test2.txt", "Замени меня");
            try
            {
                // Replace contents of file 1 with contents of file 2.
                // ... Also create file 3 as backup.
                File.Replace("test2.txt", "C:\\000\\test.txt", "Bak.txt");
            }
            catch (Exception r)
              {
                  MessageBox.Show(r.ToString());
            }
            }
Это я скачал с сайта. Это работает только если в точности повторить как сказали, с файлами в корне с исполяемым файлом. как только начинаешь манипулировать путями, сразу ошибка что невозможно удалить заменямый файл.
0
07.07.2011, 16:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2011, 16:00
Помогаю со студенческими работами здесь

Visual Basic 6 Replace выдает ошибку а все правльно!
Replace(Text.text, "lol", "go") Ошибка Expected= Что за баг ? Dim string as string тоже не...

Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы
Начал изучение ASP. Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы......

Kak mojno s pomoshu VB realizovat replace? Vsego odin replace?
Privet mojet pomojete reshit i etu problemu, a to proga stoit na meste, ves den dumal i ne kak ne...

FileInfo LastAcessTime
Здравствуйте! Подскажите, пожалуйста, что нужно сделать с файлом, что данное свойство изменилось...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru