C#用File.create()函数创建文件的注意事项

我在最近的一个C#桌面项目中,需要操作ini文件来保存配置信息。软件启动时,检测sys.ini文件是否存在,如果存在,读取配置信息;如果不存在,创建,写入默认参数。相关代码如下:

[DllImport(“kernel32”)]
private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);

[DllImport(“kernel32”)]
private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);

string filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, “sys.ini”);//在当前程序路径创建
if (!File.Exists(filePath))
{
File.Create(filePath);
}

WritePrivateProfileString(section, key, value, filePath);

执行完毕后,发现文件未写入任何内容,文件大小为0;后来发现,问题出在File.Create(filePath);这一行。

File.Create()函数返回一个FileStream对象,该对象已经打开对应文件,其它对象要改写文件,被拒绝了。

所以,应该写成File.Create(filePath).Close();

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发
CPPKU的头像-cppku-C++库

昵称

取消
昵称表情代码图片