Подтвердить что ты не робот

Создание новой папки и текстового файла внутри этой папки

Я хочу создать новую папку с именем log и внутри этой папки, которую я хочу создать текстовый файл с именем log.txt, и это путь, который я хочу создать D:\New Folder

Я попробовал это создать новую папку с именем log

string FilePathSave = Folder.ToString() + System.IO.Directory.CreateDirectory(@"D:\New Folder\Log");

И я создал текстовый файл, используя этот

string FilePathSave = Folder.ToString() +"log.txt";
File.WriteAllText(FilePathSave, TextBox1.Text);                

Но я не могу создать как D:\New Folder\Log\log.txt... любое предложение

4b9b3361

Ответ 1

Urm, что-то вроде этого?

var dir = @"D:\New folder\log";  // folder location

if(!Directory.Exists(dir))  // if it doesn't exist, create
    Directory.CreateDirectory(dir);

// use Path.Combine to combine 2 strings to a path
File.WriteAllText(Path.Combine(dir, "log.txt"), "blah blah, text");

Ответ 2

    string dir = @"D:\New Folder\Log";
    if (!Directory.Exists(dir))
    {
        Directory.CreateDirectory(dir);
    }

    File.WriteAllText(Path.Combine(dir, "log.txt"), TextBox1.Text);

Ответ 3

Попробуйте использовать Path.Combine здесь:

string folder = Path.Combine(root, "log");
if(!Directory.Exists(folder)) Directory.CreateDirectory(folder);
string file = Path.Combine(folder, "log.txt");
File.WriteAllText(file, text);   

Ответ 4

Все остальные ответы на этот вопрос верны. Но я хотел бы указать, что Directory.Exists не требуется. Даже если каталог уже существует, исключение не будет вызвано Directory.CreateDirectory. Код может быть таким же простым, как следующие три строки.

const string Folder = @"C:\temp"
Directory.CreateDirectory(Folder);
File.WriteAllText(Path.Combine(Folder, "log.txt"), "This is the test you want to write");

Ответ 5

string d = "D:\\New Folder";  

if (!Directory.Exists)  
  Directory.CreateDirectory(d);

File.WriteAllText(d + "\\log.txt", textBox1.Text);

И добавьте директиву System.IO в вашу форму.