如何创建没有头文件



我需要创建100个文件,每个文件只包含1到100之间的数字。
我使用以下代码:

for (int i = 1; i <= 100; i++)
{
     TextWriter tw = new StreamWriter(i.ToString(), true);
     tw.WriteLine(i.ToString());
     tw.Close(); 
}

这是工作,但文件比预期的要大(3字节)。我创建了一个文件(手动),其中包含数字1(数字),并将其(哈希)与另一个进行比较…它们不一样!但是它们包含相等的字符串,在这个例子中是"1"。

我打赌WriteLine正在添加一个回车符,即cr/lf。这将是两个额外的字节。如果使用Write,问题会消失吗?

使用文件。WriteAllText方法,在这种情况下它更容易并且在你做的之后做了更好的清理工作。此外,显式地使用ASCII编码-否则您可能会以UTF BOM前缀结束-这似乎是您不想要的。

for (int i = 0; i < 100; i++)
{
    string istr = i.ToString();
    System.IO.File.WriteAllText(istr, istr + ".txt", System.Text.Encoding.ASCII);
}

你应该试试BinaryWeiter。

for (int i  = 0; i < 100; i++)
{
   using(MemoryStream ms = new MemoryStream())
   {
      BinaryWriter w = new BinaryWriter(ms);
      w.Write(i.ToString());
   }
}

将长度前缀字符串写入流。如果您想将其保存到磁盘,可以使用FileStream

相关内容

  • 没有找到相关文章

最新更新