c# streamWriter 的write方法是添加还是覆盖??
streamWriter的write方法好像是可以向文件末尾添加字符串,例如:streamWritermy=newstreamWriter(“C:\\test”);my....
streamWriter 的write方法好像是可以向文件末尾添加字符串,例如:
streamWriter my = new streamWriter(“C:\\test”);
my.write("OK"); my.flush();
那么write方法能否覆盖文件内容呢??
另外,我用write()方法时发现,如果后面没有flush()语句,就不能真的写入文件,为什么?? 展开
streamWriter my = new streamWriter(“C:\\test”);
my.write("OK"); my.flush();
那么write方法能否覆盖文件内容呢??
另外,我用write()方法时发现,如果后面没有flush()语句,就不能真的写入文件,为什么?? 展开
3个回答
展开全部
StreamWriter.Write 是追加,而且是前面。例如原文本是 123456,当你 Write(“789”)后得到的结果是 789123456。
如果你是要替换该文件的内容,你可以使用 FileInfo 对象,指向你需要替换的文件,先用 FileInfo.Delete 将其删除,再写入就是新内容了。
我不会 C#,我这是 VB 的:
If fi文件 IsNot Nothing Then
fi文件.Delete()
Using sw As New StreamWriter(fi文件.OpenWrite)
sw.Write(txt主.Text)
End Using
Else
Dim sfd As New SaveFileDialog
With sfd
If di当前文件夹 Is Nothing Then
.InitialDirectory = FileIO.SpecialDirectories.MyDocuments
Else
.InitialDirectory = di当前文件夹.FullName
End If
.Filter = ("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*")
.AddExtension = True
If .ShowDialog = DialogResult.OK Then
fi文件 = New FileInfo(.FileName)
fi文件.Delete()
Using sw As New StreamWriter(fi文件.OpenWrite, System.Text.Encoding.Default)
sw.Write(txt主.Text)
End Using
End If
End With
End If
boo是否更改 = False
fi当前文件 = fi文件
Me.Text = fi当前文件.Name & "-文本编辑器"
用 Using 可以保证 End Using 之后写入文件……
如果你是要替换该文件的内容,你可以使用 FileInfo 对象,指向你需要替换的文件,先用 FileInfo.Delete 将其删除,再写入就是新内容了。
我不会 C#,我这是 VB 的:
If fi文件 IsNot Nothing Then
fi文件.Delete()
Using sw As New StreamWriter(fi文件.OpenWrite)
sw.Write(txt主.Text)
End Using
Else
Dim sfd As New SaveFileDialog
With sfd
If di当前文件夹 Is Nothing Then
.InitialDirectory = FileIO.SpecialDirectories.MyDocuments
Else
.InitialDirectory = di当前文件夹.FullName
End If
.Filter = ("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*")
.AddExtension = True
If .ShowDialog = DialogResult.OK Then
fi文件 = New FileInfo(.FileName)
fi文件.Delete()
Using sw As New StreamWriter(fi文件.OpenWrite, System.Text.Encoding.Default)
sw.Write(txt主.Text)
End Using
End If
End With
End If
boo是否更改 = False
fi当前文件 = fi文件
Me.Text = fi当前文件.Name & "-文本编辑器"
用 Using 可以保证 End Using 之后写入文件……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
write方法不会覆盖文件内容```
my.flush(); //是清空缓存区的垃圾
不清空可能出错```
my.flush(); //是清空缓存区的垃圾
不清空可能出错```
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询