gpt4 book ai didi

c# - 在 C# 中创建文本文件

转载 作者:行者123 更新时间:2023-11-30 18:50:55 24 4
gpt4 key购买 nike

我正在学习如何在 C# 中创建文本文件,但我遇到了问题。我使用了这段代码:

private void btnCreate_Click(object sender, EventArgs e)        
{

string path = @"C:\CSharpTestFolder\Test.txt";
if (!File.Exists(path))
{
File.Create(path);
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("The first line!");
}

}
else if (File.Exists(path))
MessageBox.Show("File with this path already exists.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

当我按下“创建”按钮时,Visual Studio 显示错误“System.IO.DirectoryNotFoundException”,它指向“File.Create(path)”。

问题出在哪里?

最佳答案

好吧,假设您的目录存在(如您所说),那么您还有另一个问题

File.Create保持锁定它创建的文件,您不能以这种方式使用 StreamWriter。

相反你需要写

using(FileStream strm = File.Create(path))
using(StreamWriter sw = new StreamWriter(strm))
sw.WriteLine("The first line!");

然而,除非您需要使用特定选项 (see File.Create overload list) 创建文件,否则所有这些都不是真正必要的,因为如果文件不存在,StreamWriter 会自行创建。

// File.Create(path);
using(StreamWriter sw = new StreamWriter(path))
sw.WriteLine("Text");

...或全部在一条线上

File.WriteAllText(path, "The first line");

关于c# - 在 C# 中创建文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com