【问题标题】:C# write data to a file using a file format and fill string with spacesC#使用文件格式将数据写入文件并用空格填充字符串
【发布时间】:2012-07-10 08:53:20
【问题描述】:

谁能给我一个例子,最简单和最好的方法是根据特定格式创建文本文件。我有以下示例:

Field : Pos : Length 
Version : 1 : 2 
Creator : 3 : 4 
Value : 7 : 10 
...

一行代表文件中的一个数据行。如果字段小于格式中指定的长度,则应使用空格填充。

所以我的问题是,我是否应该创建一个包含 char 数组的类并将其序列化。如果是,那么用空格填充某些部分的最简单方法是什么。或者你有其他想法,可以举个例子,我应该如何在 C# 中做到这一点......

谢谢!

【问题讨论】:

  • 如果字段超过格式中指定的长度怎么办?在继续之前,您必须得到这个问题的答案。
  • 嗨,这不可能,因为不能有超过长度的值。它们只能是更少的长度。这些是预定义的一些非常具体的值/状态码。
  • 如果你的格式是固定的并且你没有很多不同的类来序列化,只需使用字符串格式,例如textWriter.WriteLine ("{0,2}{1,4}{2,10}...", version, creator, value, ...)
  • 如果值小于字段的长度,是否会用空格填充剩余的字符
  • 感谢 Anton,这正是我所需要的。刚刚对其进行了测试,在这种情况下效果很好,因为格式不包含很多字段。

标签: c# serialization char file-format


【解决方案1】:

您应该从StreamWriter documentation 开始查找。基本上,当您创建流编写器时,您可以将字符串附加到它,就像附加到控制台一样。很简单,写完记得用usingDispose正确关闭流。

【讨论】:

    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 2012-07-19
    • 2015-09-03
    • 1970-01-01
    • 2015-12-14
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多