但是从你的程序可以看出
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()已经变成了第二行的内容了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)