关于C#创建ini文件并写入的问题

冰夏之夜影 2017-05-29 10:21:25
异常:创建文件后写入内容的话,文件会被创建出来,但是内容无法写入,手动创建文件后运行写入可以写入,代码如下

static void Main(string[] args)
{
new Program().mes();
Console.WriteLine("hello world !");
Console.ReadLine();
}
public void mes()
{
if (!File.Exists("F:\\TestTxt.ini"))
{
FileStream fs1 = new FileStream("F:\\TestTxt.ini", FileMode.Create, FileAccess.ReadWrite);//创建写入文件
Boolean bo = (!File.Exists("F:\\TestTxt.ini"));
Console.WriteLine("w文件已存在"+ bo );
IniWrite("title", "key", "1", "F:\\TestTxt.ini");
}
IniWrite("title", "key", "value", "F:\\TestTxt.ini");
Console.WriteLine("w文件已存在" );
Console.ReadLine();
}

//读取配置文件内容
public string IniReadValue(string section, string skey, string path)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(section, skey, "", temp, 500, path);
return temp.ToString();
}
//写入配置文件内容
public void IniWrite(string section, string key, string value, string path)
{
WritePrivateProfileString(section, key, value, path);
}

[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
...全文
1241 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
raynors 2018-02-28
  • 打赏
  • 举报
回复
文件不存在的时候 你OPEN创建了文件 却没有关闭它,后面的肯定做不下去了。 WritePrivateProfileString 本身是要打开文件操作的,发现这个文件被占用了 自然报错了。
xfy_ 2018-02-27
  • 打赏
  • 举报
回复

     if (!File.Exists("F:\\TestTxt.ini"))
            {
                FileStream fs1 = new FileStream("F:\\TestTxt.ini", FileMode.Create, FileAccess.ReadWrite);//创建写入文件
                Boolean bo = (!File.Exists("F:\\TestTxt.ini")); 
                Console.WriteLine("w文件已存在"+ bo );
                IniWrite("title", "key", "1", "F:\\TestTxt.ini"); 
            }
我把这块代码删掉之后就OK了, 感谢楼主
FainSheeg 2018-02-27
  • 打赏
  • 举报
回复
问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举
csharplife 2018-02-27
  • 打赏
  • 举报
回复
在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举
岁寒松柏 2017-12-06
  • 打赏
  • 举报
回复
问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举
stevenjin 2017-11-20
  • 打赏
  • 举报
回复
liufei120925 非言非语 T1 问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举
非言非语 2017-11-19
  • 打赏
  • 举报
回复
问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举
crystal_lz 2017-05-31
  • 打赏
  • 举报
回复
问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举。
fei1129000 2017-05-29
  • 打赏
  • 举报
回复
问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举。
冰夏之夜影 2017-05-29
  • 打赏
  • 举报
回复
问题已解决,在插入ini配置文件的时候会自动去检测有没有这个文件,没有的话他会自动去创建,不需要我们多此一举

110,571

社区成员

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

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

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