2

我有以下价值观

A = 1, 
B = (NULL of 7 characters), 
C = denimRocks , 
D = Yes789, 
E = (NULL of 2 characters), 
F = ATR.

我想将这些写入文本文件的一行,其中A从该行的位置 1 开始。B从位置 2 开始,C从位置 8 开始,依此类推。

我想为空值显示空格。我尝试使用streamwriter,但我无法实现我想做的事情。

请帮忙。

4

2 回答 2

4

试试这样:

 string a=string.Empty;
    StreamWriter yourStream = null;
    protected void Page_Load(object sender, EventArgs e)
    {
            yourStream = File.CreateText("D:\\test1.txt"); // creating file
            a = String.Format("|{0,1}|{1,2}|{2,7}|......", "A", "B", "",......); //formatting text based on poeition
            yourStream.Write(a+"\r\n");                        
            yourStream.Close();
        }
于 2013-10-03T11:49:34.503 回答
0

string.Format 和复合格式规则允许完全按照您的意愿对齐字符串:

 string A = "1";
 string B = "";
 string C = "denimRocks";
 string D = "yes789"
 string E = "";
 string F = "ATR";

 string result = string.Format("{0}{1,7}{2,10}{3,6}{4,2}{5,3}", A,B,C,D,E,F);
 Console.WriteLine(result);

通过这种方式,您可以在为它们保留的空间中准确对齐每条信息,写入文件只需打开适当的流并写入结果字符串

于 2013-10-03T11:49:33.157 回答