C#创建一个txt文件,之后想点击一个按钮 往这个txt文件里写入一些值如,但程序提示文件诤友另一进程使用
这是我判断有无文件夹和文件的代码,诺没有自行创建stringDirPath=@"D:\TimerTXT";stringFilePath=DirPath+@"\IDandT...
这是我判断有无文件夹和文件的代码,诺没有自行创建
string DirPath = @"D:\TimerTXT";
string FilePath = DirPath + @"\IDandTime.txt";
if (!Directory.Exists(DirPath))
{
Directory.CreateDirectory(DirPath);
}
if (File.Exists(FilePath))
{
File.Delete(FilePath);
File.Create(FilePath);
}
else
{
File.Create(FilePath);
}
这是我点击按钮想往里写123321这个字符串的代码
string DirPath = @"D:\TimerTXT";
string FilePath = DirPath + @"\IDandTime.txt";
FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
// 2,创建读存储器
StreamWriter sw = new StreamWriter(fs);
// 3,读操作
// RTxtRec.Text = sr.ReadToEnd();
sw.WriteLine("123321");
// 4,5, 释放
sw.Close();
fs.Close();
但程序运行时点击按钮会报错:文件“D:\TimerTXT\IDandTime.txt”正由另一进程使用,因此该进程无法访问该文件。 展开
string DirPath = @"D:\TimerTXT";
string FilePath = DirPath + @"\IDandTime.txt";
if (!Directory.Exists(DirPath))
{
Directory.CreateDirectory(DirPath);
}
if (File.Exists(FilePath))
{
File.Delete(FilePath);
File.Create(FilePath);
}
else
{
File.Create(FilePath);
}
这是我点击按钮想往里写123321这个字符串的代码
string DirPath = @"D:\TimerTXT";
string FilePath = DirPath + @"\IDandTime.txt";
FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
// 2,创建读存储器
StreamWriter sw = new StreamWriter(fs);
// 3,读操作
// RTxtRec.Text = sr.ReadToEnd();
sw.WriteLine("123321");
// 4,5, 释放
sw.Close();
fs.Close();
但程序运行时点击按钮会报错:文件“D:\TimerTXT\IDandTime.txt”正由另一进程使用,因此该进程无法访问该文件。 展开
4个回答
展开全部
using(FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
// 2,创建读存储器
using( StreamWriter sw = new StreamWriter(fs))
{
// 3,读操作
// RTxtRec.Text = sr.ReadToEnd();
sw.WriteLine("123321");
}
}
这么写,因为你没有dispose
{
// 2,创建读存储器
using( StreamWriter sw = new StreamWriter(fs))
{
// 3,读操作
// RTxtRec.Text = sr.ReadToEnd();
sw.WriteLine("123321");
}
}
这么写,因为你没有dispose
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是因为你创建文件后没有释放对象
可以像这样写
FileStream fs = File.Create(FilePath);
fs.Close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有释放掉资源 直接关闭不行的 东西没有释放掉 他还是存在的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询