首页 新闻 搜索 专区 学院

C#输出结果不全

0
悬赏园豆:5 [已解决问题] 解决于 2013-04-11 16:54

FileStream myfile = new FileStream(@"F:\AA.txt", FileMode.Create);
StreamWriter my = new StreamWriter(myfile);
for (int i = 0; i < 100; i++)
{
my.WriteLine("AA[{0}]\t{1:F6}", i, AA[i]);
}

AA.txt中只输出了AA[0]~AA[83];

输出不完整这是为什么?

C#
ZGHAPPY的主页 ZGHAPPY | 菜鸟二级 | 园豆:207
提问于:2013-04-10 21:51
< >
分享
最佳答案
0

my.Close();myfile.Close(); 了没有?

收获园豆:5
Yu | 专家六级 |园豆:12950 | 2013-04-11 08:25

还真是这么回事;加上my.Close();myfile.Close();后正常了,以前从没遇到过,没注意过,这是为什么??求教

ZGHAPPY | 园豆:207 (菜鸟二级) | 2013-04-11 10:34

@ZGHAPPY: 不关闭,最后缓存区里的数据,就不输出了

Yu | 园豆:12950 (专家六级) | 2013-04-11 12:44

@Yu: 我上网搜索了关于缓存区的概念,大部分用于web编程里面的,但是具体什么含义还是不太明白,因为我已经写了代码要它全部输出,为什么不关闭文件就不输完整结果呢,在c语言和C++里面好像没出现过这种情况

ZGHAPPY | 园豆:207 (菜鸟二级) | 2013-04-11 15:20

@ZGHAPPY: 是streamwiter 对象自己的内存缓存区, 它会先填充自己的缓存区,满了,再写入文件,然后又重新来过,在最后,必须关闭,否则,此时缓存区的内容就会丢失

Yu | 园豆:12950 (专家六级) | 2013-04-11 16:33

受教了!

yyutudou | 园豆:997 (小虾三级) | 2013-04-13 15:54
其他回答(2)
0

确定AA.Length为多少,是否只有84,之后就数组索引越界的异常。

yyutudou | 园豆:997 (小虾三级) | 2013-04-11 00:00

AA.Length为多少,是否只有8

支持(0) 反对(0) zhi++ | 园豆:487 (菜鸟二级) | 2013-04-12 19:06
0

AA.Length为多少,是否只有84,之后就数组索引越界的

zhi++ | 园豆:487 (菜鸟二级) | 2013-04-11 19:26

AA.Count=12083,是因为没加上my.Close();myfile.Close();

支持(0) 反对(0) ZGHAPPY | 园豆:207 (菜鸟二级) | 2013-04-11 19:40

AA.Length为多少,是否只有8

支持(0) 反对(0) zhi++ | 园豆:487 (菜鸟二级) | 2013-04-12 19:06

@ZGHAPPY:AA.Length为多少,是否只有8 

支持(0) 反对(0) zhi++ | 园豆:487 (菜鸟二级) | 2013-04-12 19:06

@zhi++: AA.Length=12083

支持(0) 反对(0) ZGHAPPY | 园豆:207 (菜鸟二级) | 2013-04-13 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册