从c#中的文本文件中读取整数并将它们写入数组

时间:2013-05-17 19:37:19

标签: c# image file integer pixels

我正在尝试从文本文件中读取像素值并生成图像文件。但首先我想确保我可以读取文件中的所有值。我使用这段代码,但输出错过了输入文件中的一些整数 - 最后一个。我不知道为什么!你能帮助我吗?这是代码:

namespace txtToImg
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            TextWriter tw = new StreamWriter("D:\\out.txt");
            string fileContent = File.ReadAllText("D:\\in.txt");

            string[] integerStrings = fileContent.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            int[] integers = new int[integerStrings.Length];
            //tw.Write(integerStrings.Length);

            for (int n = 0; n < integerStrings.Length; n++)
            {
                integers[n] = int.Parse(integerStrings[n]);

                tw.Write(integers[n]+" ");


            }
        }
    }
}

2 个答案:

答案 0 :(得分:2)

我同意Andrew的评论你的streamWriter对象没有被关闭所以有一件事我会尝试这个。我在下面进行了更改并尝试了您正在做的事情,我的输出文件包含所有条目。

 using (TextWriter tw = new StreamWriter(@"D:\out.txt"))
        {
            string fileContent = File.ReadAllText(@"D:\in.txt");

            string[] integerStrings = fileContent.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            int[] integers = new int[integerStrings.Length];

            for (int n = 0; n < integerStrings.Length; n++)
            {
                integers[n] = int.Parse(integerStrings[n]);
                tw.Write(integers[n] + " ");
            }
        }

答案 1 :(得分:0)

是的,我刚刚运行它,因为我怀疑你在循环后需要以下内容:

tw.Close();