Как переместить TXT-файл в другую папку? - PullRequest
1 голос
/ 23 августа 2011

Я пытаюсь написать консольное приложение C # для перемещения моих файлов etxt в другую папку.Функции просто копируют определенные TXT-файлы из папки A в папку AA

string source = "C:\\A\\ResultClassA.txt";
File.Move(Source, "C:\\AA");

Но сообщение об ошибке всегда выдает:

Доступ к пути запрещен.Советы по устранению неполадок: убедитесь, что у вас достаточно прав для доступа к этому ресурсу.Если вы пытаетесь получить доступ к файлу, убедитесь, что он не доступен только для чтения.Получите общую справку по этому исключению.

Действительно ли мне нужно установить для моей папки A и папки B атрибут "NOT ReadOnly" перед выполнением кода "File.move"?и установить для чтения только назад после успешного перемещения?

Спасибо.Герой.

Ответы [ 2 ]

5 голосов
/ 23 августа 2011

Вам необходимо указать полный путь и убедиться, что путь C:\AA существует

string source = "C:\\A\\ResultClassA.txt";
File.Move(Source, "C:\\AA\\ResultClassA.txt");

См. здесь для хорошего образца

using System;
using System.IO;
class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        string path2 = @"c:\temp2\MyTest.txt";
        try 
        {
            if (!File.Exists(path)) 
            {
                // This statement ensures that the file is created,
                // but the handle is not kept.
                using (FileStream fs = File.Create(path)) {}
            }

            // Ensure that the target does not exist.
            if (File.Exists(path2)) 
            File.Delete(path2);

            // Move the file.
            File.Move(path, path2);
            Console.WriteLine("{0} was moved to {1}.", path, path2);

            // See if the original exists now.
            if (File.Exists(path)) 
            {
                Console.WriteLine("The original file still exists, which is unexpected.");
            } 
            else 
            {
                Console.WriteLine("The original file no longer exists, which is expected.");
            }           

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
2 голосов
/ 23 августа 2011

Герой, вы переходите от имени файла к имени папки, попробуйте указать имя файла с расширением внутри папки C:\AA.

АА уже существует на C?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...