c#中数据无法写入文本文件

langmanchangfeng 2007-11-12 08:59:46
我用c#编了一个小程序,题目是
输入一个整型数,一个双精度型和一个字符串到文件中, 然后从文件读出这些数据并打印到标准输出设备。


我的程序的截图如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace myfile
{
class Program
{
static void Main(string[] args)
{
//int i;
string i;
string s;
//double d;
string d;
string singleline;

try
{
FileStream fsw = new FileStream("d:\\file.txt", FileMode.OpenOrCreate);

Console.WriteLine("请输入整型数:");
i =Console.ReadLine();

Console.WriteLine("请输入双精度型数:");
d = Console.ReadLine();

Console.WriteLine("请输入字符串型数:");
s =Console.ReadLine();

StreamWriter sw = new StreamWriter(fsw);

sw.WriteLine(i);
sw.WriteLine(d);
sw.WriteLine(s);



fsw.Close();

FileStream fsr = new FileStream("d:\\file.txt", FileMode.OpenOrCreate);

StreamReader sr = new StreamReader(fsr);
Console.WriteLine("你输入的数是:");

while ((singleline = sr.ReadLine ()) != null )
{
Console .WriteLine (singleline );
}

fsw.Close();

Console.ReadKey();
}
catch(IOException ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}
问题:
file文件能够正确建立,但输入的数据却无法写入,文本文件是空的,我上次做的实验也是这个问题,希望各位能把我解决这个疑惑,万分感谢!

...全文
336 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxoo2007 2007-11-12
  • 打赏
  • 举报
回复
问题在于没有关闭写入缓冲。在关闭文件之前,关闭缓冲即可。

sw.Close();
fsw.Close();
ETstudio 2007-11-12
  • 打赏
  • 举报
回复
sw.Flush;
sw.Close();
fsw.Flush;
fsw .Close ()

下面这个应该错了
while ((singleline = sr.ReadLine ()) != null )
{
Console .WriteLine (singleline );
}

fsw.Close();

应该是 fsr.close();sr.close();

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧