Создание файла (.htm) в C # - PullRequest
       8

Создание файла (.htm) в C #

17 голосов
/ 18 октября 2011

Я хотел бы знать, как лучше всего создать простой HTML-файл, используя c #.

Используется ли что-то вроде System.IO.File.Create?

Ответы [ 8 ]

26 голосов
/ 18 октября 2011

Что-то вроде -

using (FileStream fs = new FileStream("test.htm", FileMode.Create)) 
{ 
    using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) 
    { 
        w.WriteLine("<H1>Hello</H1>"); 
    } 
} 
8 голосов
/ 18 октября 2011

Я скажу, что File.WriteAllText - это глупый способ написания текстового файла для C #> = 3.5.

File.WriteAllText("myfile.htm", @"<html><body>Hello World</body></html>");

Я даже скажу, что File.WriteAllLines достаточно глупо, чтобы писать большие HTML, не слишком много борясь с композицией строк. Но «хорошая» версия предназначена только для C # 4.0 (чуть хуже C #> = 2.0)

List<string> lines = new List<string>();
lines.Add("<html>");
lines.Add("<body>");
lines.Add("Hello World");
lines.Add("</body>");
lines.Add("</html>");

File.WriteAllLines("myfile.htm", lines);
// With C# 3.5
File.WriteAllLines("myfile.htm", lines.ToArray());
3 голосов
/ 18 октября 2011

Я бы пошел с File.Create, а затем открыть StreamWriter для этого файла, если у вас нет всех данных при создании файла.Это пример от MS, который может помочь вам

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";

        // Create the file.
        using (FileStream fs = File.Create(path, 1024)) 
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (StreamReader sr = File.OpenText(path)) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }
    }
}
2 голосов
/ 28 мая 2016

Посмотрите на класс HtmlTextWriter .Для примера, как использовать этот класс, например, посмотрите на http://www.dotnetperls.com/htmltextwriter.

1 голос
/ 18 октября 2011

Чтение и запись текстовых файлов и Информация MSDN . HTML - это простой текстовый файл с расширением * .HTML;)

0 голосов
/ 18 октября 2011

Да, System.IO.File.Create(Path) создаст ваш файл просто отлично. Вы также можете использовать filestream и написать в него. Кажется более удобным написать файл htm

0 голосов
/ 18 октября 2011

Если вы посмотрите на http://msdn.microsoft.com/en-us/library/d62kzs03.aspx, вы можете найти пример создания файла.

Но как вы хотите создать содержимое файла html?Если это просто статично, то вы можете просто записать его в файл ... если вам нужно создать HTML на лету, вы можете использовать файл ASPX с правильной разметкой и использовать Server.Execute для получения HTML-кода в виде строки.

0 голосов
/ 18 октября 2011

Простое открытие файла для записи (например, File.OpenWrite ()) создаст файл, если он еще не существует.

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