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