我想知道使用c#创建简单html文件的最佳方法。
是否使用类似System.IO.File.Create
的内容?
答案 0 :(得分:25)
像 -
using (FileStream fs = new FileStream("test.htm", FileMode.Create))
{
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
{
w.WriteLine("<H1>Hello</H1>");
}
}
答案 1 :(得分:8)
我会说File.WriteAllText是一种为C#&gt; = 3.5编写文本文件的愚蠢方法。
File.WriteAllText("myfile.htm", @"<html><body>Hello World</body></html>");
我甚至会说File.WriteAllLines足够愚蠢,可以编写更大的HTML而不会对字符串组成进行过多的打击。但“好”版本仅适用于C#4.0(更糟糕的版本是C#&gt; = 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());
答案 2 :(得分: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);
}
}
}
}
答案 3 :(得分:2)
查看HtmlTextWriter课程。有关如何使用此类的示例,请查看http://www.dotnetperls.com/htmltextwriter。
答案 4 :(得分:1)
Reading and writing text files和MSDN info。 HTML只是一个带* .HTML扩展名的简单文本文件;)
答案 5 :(得分:0)
只需打开一个文件进行写入(例如使用File.OpenWrite())将创建该文件(如果该文件尚不存在)。
答案 6 :(得分:0)
如果您查看http://msdn.microsoft.com/en-us/library/d62kzs03.aspx,可以找到创建文件的示例。
但是你想如何创建html文件内容呢?如果那只是静态的那么你可以把它写到文件中......如果你必须动态创建html,你可以使用带有正确标记的ASPX文件,并使用Server.Execute将HTML作为字符串。
答案 7 :(得分:0)
是的,System.IO.File.Create(Path)
会很好地创建你的文件。
您也可以使用filestream
并写入。编写htm文件似乎更方便