文件流写入的问题

文件流写入的问题,第1张

图形编程米学过啊^^

但是从你的程序可以看出

sfd.ShowDialog() == DialogResult.OK

这里showDialog函数反回的是什么东东(是一个对象吗),还有DialogResult.Ok这里的DialogResult肯定是个类,那么OK是一个成员,这个OK是什么类型的成员?

因此估计你这里的程序

首先是sfd.ShowDialog()反回的类型与DialogResult.Ok的类型不皮配

其次:若sfd.showDialog()反回的类型是一个对象,而DialogResult.OK也是一个对象,并假设他们是相同的对象,则这两个对象是什么类的对象,对于这个类有没有重载==运算符呢?

加上这句话

sw.Flush()

FileStream fs = File.Open(@"F:\FileStream2.txt",FileMode.Open)

StreamWriter sw = new StreamWriter(fs)

string strWrite = "中国人"

sw.WriteLine(strWrite)

sw.Flush()//清理当前编辑器的所有缓冲区,并使所有缓冲数据写入基础流

Console.WriteLine("你好,写入成功!")

fs.Close()

-----------------------------------------------------------

Streamwriter是特定流的方式写入,

BinaryWriter是以二进制方式写入流

StreamWriter类有几个构造函数,其中有一个构造函数有两个参数(string path,bool append),其中path为文件的路径,如果该文件存在,则可以向其覆盖或追加;如果文件不存在,则创建一个新文件。bool类型值append确定是否将数据追加到文件。如果文件存在且append为true,则数据将追加到文件中

首先要理解这个方法:ReadLine这个方法每被调用一次,只会读取一行内容.下一次再次被调用时,会从下一行开始读取,当然,也只会读取一行

FileStream fs = new FileStream("user.game",FileMode.Open)

StreamReader sr = new StreamReader(fs)

//运行正常

string type = sr.ReadLine()//这句代码被执行后,文件中第一行的内容已经被读取完了,也就是阅读器已经运行到了第一行最末的位置,下次再读取时会从下一行开始读取

if (type.Equals("Turtle"))

{

//内容被执行了

}

//运行错误

if(sr.ReadLine().Equals("Turtle"))//这里你又一次调用了这个方法,所以阅读器从这里再读取你的文件中第二行的内容,因为你的文件只有一行内容,所以第二行内容肯定是读不到内容的,所以为空

{

//内容没有被执行

}

测试方法是:在你文件中加多第二行内容,再运行,就可以发现这个时候sr.ReadLine()已经变成了第二行的内容了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11501078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存