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

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

Я хотел бы знать лучший способ создать простой html файл с помощью С#.

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

4b9b3361

Ответ 1

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

using (FileStream fs = new FileStream("test.htm", FileMode.Create)) 
{ 
    using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) 
    { 
        w.WriteLine("<H1>Hello</H1>"); 
    } 
} 

Ответ 2

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

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

Я даже скажу, что File.WriteAllLines достаточно глупо, чтобы писать больше html, не слишком много сражаясь с строковой композицией. Но "хорошая" версия предназначена только для С# 4.0 (немного хуже версия С# >= 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

Я бы пошел с 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);
            }
        }
    }
}

Ответ 6

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

Ответ 7

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

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

Ответ 8

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