我用c#winform操作文本文件遇到了问题

在form加载时,我判断文本文件是否存在,不存在就建立一个,然后再读取。代码:if(System.IO.File.Exists(@"C:\a.txt")==false)S... 在form加载时,我判断文本文件是否存在,不存在就建立一个,然后再读取。代码:
if (System.IO.File.Exists(@"C:\a.txt") == false) System.IO.File.Create(@"C:\a.txt");
if (System.IO.File.Exists(@"C:\a.txt") == true) richTextBox1.Text = System.IO.File.ReadAllText(@"C:\a.txt");这里我就出现了一个问题。软件第一次运行时会报错。
展开
 我来答
百度网友94f02eb
2013-03-29 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4480万
展开全部
你的代码本身的逻辑出了点问题。正确的逻辑应该是“如果没有则创建,如果有则打开”,代码如下:
   if (!File.Exists(@"c:\a.txt")) {
   File.Create(@"c:\a.txt").Close();
   }
   else {
   richTextBox1.Text = System.IO.File.ReadAllText(@"c:\a.txt");
   }
哲事姓无
2013-03-28 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:441万
展开全部
使用File.Create打开文件后要及时进行关闭,象下面这样。

var filePath = "C:\a.txt";

if (!File.Exists(filePath))
{
var stream = File.Create(filePath);
stream.Close();
}
if (File.Exists(filePath))
richTextBox1.Text = File.ReadAllText(filePath);

也可使用如下等效写法,这样简单一些
richTextBox1.Text = File.Exists(filePath) ? File.ReadAllText(filePath) : string.Empty;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
airroom110
2013-03-28 · TA获得超过219个赞
知道小有建树答主
回答量:498
采纳率:0%
帮助的人:115万
展开全部
StreamReader来读取文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式