C#: Создание нового FileInfo в каталоге, из которого у Вас есть DirectoryInfo

Раздел кода

//--------------------------------------------------------------
//                       ${title}
//--------------------------------------------------------------
${cursor}

Используйте этот шаблон, чтобы упростить комментирование разделов кода. это не очень сложно, но сэкономило мне много времени:)

18
задан Jay Bazuzi 11 June 2013 в 21:50
поделиться

2 ответа

Что вы хотите сделать? В заголовке написано «Создание нового файла». Объект FileInfo не является файлом; это объект, содержащий информацию о файле (который может существовать, а может и не существовать). Если вы действительно хотите создать файл, есть несколько способов сделать это. Один из самых простых способов - это:

File.WriteAllText(Path.Combine(dir.FullName, "file.ext"), "some text");

Если вы хотите создать файл на основе объекта FileInfo , вы можете использовать следующий подход:

var dir = new DirectoryInfo(@"C:\Temp");
var file = new FileInfo(Path.Combine(dir.FullName, "file.ext"));
if (!file.Exists) // you may not want to overwrite existing files
{
    using (Stream stream = file.OpenWrite())
    using (StreamWriter writer = new StreamWriter(stream))
    {
        writer.Write("some text");
    }
}

В качестве примечания: это dir.FullName , а не dir.FullPath .

19
ответ дан 30 November 2019 в 08:48
поделиться

Почему бы вам не использовать:

File.Create(@"C:\Temp\file.ext");

или

var dir = new DirectoryInfo(@"C:\Temp");
File.Create(dir.FullName + "\\file.ext");
2
ответ дан 30 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: