создание файла / каталога в c # - PullRequest
0 голосов
/ 21 июня 2011

У меня есть несколько папок / файлов на нескольких дисках, например

C:\New Folder
C:\a.txt
D:\New Folder\New Folder
D:\New Folder\a.txt

Теперь я хочу создать дерево каталогов на диске c, которое будет выглядеть как

C:\mytempFolder\driveC\New Folder
C:\mytempFolder\driveC\a.txt
C:\mytempFolder\driveD\New Folder\New Folder
C:\mytempFolder\driveD\New Folder\a.txt

Есть ли быстрый способ реализовать это в c #?

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

Используйте Directory.Create для создания каталогов:

Directory.Create("c:\mytempFolder\driveC\New Folder");

и для создания файлов вам нужно будет написать текстовый файл в это место, например:

File.Create("D:\New Folder\a.txt").Close;

(возвращает FileSream, поэтому не забудьте закрыть его позже, или вы заблокируете файл)

EDIT:

Хорошо, я понимаю, что вы имеете в виду. В этом случае вам нужно сделать что-то вроде этого:

Зациклить все файлы в каталоге и его подкаталогах

и когда вы столкнетесь с файлом или папкой, вам нужно будет создать его в целевой папке (например, c: \ mytempFolder) с помощью приведенных выше команд. Чтобы получить диск, вы можете просто получить первый символ в строке пути (при условии, что у него всегда будет буква диска).

Вот простой способ сделать это, но вам может понадобиться настроить его для учета несоответствий пути к файлу:

string targetPath = @"C:\mytempFolder\";
string path = @"D:\New Folder\a.txt";
char driveLetter = path[0];
string filePath = path.SubString(3);
string newFilePath = Path.Combine(targetPath, Path.Combine(String.Format("drive{0}", driveLetter.ToString()), filePath));
3 голосов
/ 21 июня 2011
   if(System.IO.Directory.Exists("c://gg"))
        {
            System.IO.Directory.CreateDirectory("C:\\gg//");
            System.IO.File.Create("C:\\gg//file.txt");
        }
        else
        {
            Response.Write("ALREADY FOLDER EXIST");
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...