Я хотел бы знать лучший способ создать простой html файл с помощью С#.
Используется ли что-то вроде System.IO.File.Create
?
Я хотел бы знать лучший способ создать простой html файл с помощью С#.
Используется ли что-то вроде System.IO.File.Create
?
Что-то вроде -
using (FileStream fs = new FileStream("test.htm", FileMode.Create))
{
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
{
w.WriteLine("<H1>Hello</H1>");
}
}
Я скажу, что 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());
Я бы пошел с 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);
}
}
}
}
Посмотрите на класс HtmlTextWriter. Например, как использовать этот класс, например, посмотрите http://www.dotnetperls.com/htmltextwriter.
Чтение и запись текстовых файлов и информация MSDN. HTML - это простой текстовый файл с расширением *.HTML;)
Просто открыв файл для записи (используя File.OpenWrite(), например) создаст файл, если он еще не существует.
Если вы посмотрите http://msdn.microsoft.com/en-us/library/d62kzs03.aspx, вы можете найти пример создания файла.
Но как вы хотите создать содержимое html файла? Если это просто статическое, вы можете просто записать его в файл. Если вам нужно создать html на лету, вы можете использовать файл ASPX с правильной разметкой и использовать Server.Execute, чтобы получить HTML в виде строки.
Yep, System.IO.File.Create(Path)
создаст ваш файл просто отлично.
Вы также можете использовать filestream
и писать на него. Кажется более удобным написать htm файл