求助 初学C#遇到的一个问题:运行程序时出错,但按F11可继续。。。

fanny110119 2006-10-26 07:39:18
//若启动目录下Chinese.txt文件不存在,则创件它
if (File.Exists(Application.StartupPath + @"\Chinese.txt") == false)
{
File.Create(Application.StartupPath + @"\Chinese.txt");
}

//(重)向Chinese.txt文件中写入指定的字符串
StreamWriter Sw = new StreamWriter(Application.StartupPath + @"\Chinese.txt", false, System.Text.Encoding.Default);

Sw.WriteLine("我很高兴见到你 !");
Sw.Close();

==============================================================================
当Chinese.txt不存在时,此时当我运行上面的代码时,会在
StreamWriter Sw = new StreamWriter(Application.StartupPath + @"\Chinese.txt", false, System.Text.Encoding.Default); 处暂停,

提示错误为:
{"文件“G:\\WindowsApplication1\\WindowsApplication1\\bin\\Debug\\Chinese.txt”正由另一进程使用,因此该进程无法访问该文件。"}

但如果按F11可继续运行,我的CODE 流程看起来实在没有问题啊,改如何解决?
先谢谢谢谢谢了。。。


...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanny110119 2006-10-26
  • 打赏
  • 举报
回复
十分感激jointan() 的解答,我会给分的。
我还有一个问题,

我可以通过这样得到一些系统的目录:
System.Environment.GetFolderPath(Environment.SpecialFolder.System
System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
。。。
但为何没有得到WINDOWS目录 的方法啊?(如果WINDOWS 不是安装在C盘)
我可怎样解决?
chaircat 2006-10-26
  • 打赏
  • 举报
回复
ls正解....
jointan 2006-10-26
  • 打赏
  • 举报
回复
改成如下:
if (File.Exists(Application.StartupPath + @"\Chinese.txt") == false)
{
File.Create(Application.StartupPath + @"\Chinese.txt").Close();
}
因为File.Create会直接创建一个流,如果这个流不关闭的话,其他进程是无法访问这个新建的文件的
flyskywlh 2006-10-26
  • 打赏
  • 举报
回复
先判断是否有G:\\WindowsApplication1\\WindowsApplication1\\bin\\Debug\\Chinese.txt文件,如果没有,先创建文件,再写到里头

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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