C# 把数据写入csv文件异常:文件无法访问,正在被另一进程访问?FileMode

wjh99sd 2012-02-17 01:21:11
想把winform文件的内容存到csv文件中。
1.点击保存按钮时这样处理:
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "csv files (*.csv)|*.csv|txt files (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.InitialDirectory = txtFile.Text;
saveFileDialog1.RestoreDirectory = true;
Stream myStream;
try
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
//获得文件路径
filename = saveFileDialog1.FileName.ToString();

FileStream _file = new FileStream(filePathName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
(1) using (StreamWriter fileWriter = new StreamWriter(_file))
{
fileWriter.WriteLine(String.Join(",", strArr));
fileWriter.Flush();
}

问题1:此时(1)using语句会出现异常,说文件无法访问。不管FileMode和FileAccess怎么改,都是这个异常。只有把上面的代码中FileAccess改为Read,才没有这个异常。但是又不能定义StreamWriter 了。我的目的就是要write呀。

问题2:我这样处理保存文件正确么?怎么把内容保存到原文件,就是取数据的文件?

求高人指点,这是新工作第一个活,不能搞砸啊!
...全文
535 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
星小野 2012-02-22
  • 打赏
  • 举报
回复
cvs 文件的格式,可以用notepad.txt打开,并且格式不变!!
所以就相当于写TXT文件了。

网上有很多实例。GoodLuck!

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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