根据 TextBox 的内容创建文本文件

时间:2021-07-28 11:07:44

标签: c# winforms

我想使用 TextBox 的内容作为输入创建一个文本文件。
当我运行我的应用程序时,尝试在按钮单击时执行此任务时出现此错误:

<块引用>

System.IO.IOException: '文件名、目录名或卷标语法不正确: 'C:\Users\Jason\source\repos\App1\App1\bin\Debug\netcoreapp3.1@C:\Users\Jason\Desktoppptest.txt''

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
    string filename = ("@C:\\Users\\Jason\\Desktop\app") + (textBox2.Text) + (".txt");
    File.Create(filename);
}

4 个答案:

答案 0 :(得分:0)

将@ 符号放在引号之前。路径不得包含@ 符号。

另见https://docs.microsoft.com/en-us/dotnet/api/system.io.path?view=net-5.0。这在处理目录时很少见。

第二个问题是您试图连接两个单独的目录。仅生成一个以正确创建文件。应该是这样的。

<块引用>

C:\Users\Jason\source\repos\App1\App1\bin\Debug\netcoreapp3.1\test.txt'。

答案 1 :(得分:0)

我不知道您为什么使用 () 来连接这些字符串。如果文件名中的 \ 是文件夹,请添加另一个 app。这应该有效:

private void button1_Click(object sender, EventArgs e)
{
    string filename = @"C:\Users\Jason\Desktop\app\" + textBox2.Text + ".txt";
    File.Create(filename);
}

答案 2 :(得分:0)

设置文件名如下。桌面上应该有一个应用文件夹。

string 文件名 = @"C:\Users\Jason\Desktop\app" + textBox2.Text + ".txt";

答案 3 :(得分:0)

测试这种情况的快速方法是在类似 LinqPad(或在线编译器)中编写它们并使用 WriteLine 输出字符串 - 这是验证字符串是否是您想要的最快方法

在您的情况下,您会看到如下内容:

LINQPAD example

string filename = "C:\\Users\\Jason\\Desktop\\app\\" + textBox2.Text + ".txt";

相关问题