根据 TextBox 的内容创建文本文件
Creating a text file based on the content of a TextBox
我想使用 TextBox 的内容作为输入创建一个文本文件。
当我 运行 我的应用程序时,尝试在单击按钮时执行此任务时出现此错误:
System.IO.IOException: 'The filename, directory name, or volume label syntax is incorrect:
'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);
}
将@ 符号放在引号之前。路径不能包含@符号。
另请参阅 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'.
我不知道您为什么使用 ()
来连接这些字符串。如果文件名中的 app
是文件夹,则添加另一个 \
。这应该有效:
private void button1_Click(object sender, EventArgs e)
{
string filename = @"C:\Users\Jason\Desktop\app\" + textBox2.Text + ".txt";
File.Create(filename);
}
设置文件名如下。桌面上应该有一个app文件夹。
字符串文件名=@"C:\Users\Jason\Desktop\app" + textBox2.Text + ".txt";
测试这种情况的快速方法是用 LinqPad(或在线编译器)之类的东西编写它们并使用 WriteLine 输出字符串 - 这是验证字符串是否是您想要的最快方法
在你的情况下你会看到这样的东西:
string filename = "C:\Users\Jason\Desktop\app\" + textBox2.Text + ".txt";
我想使用 TextBox 的内容作为输入创建一个文本文件。
当我 运行 我的应用程序时,尝试在单击按钮时执行此任务时出现此错误:
System.IO.IOException: 'The filename, directory name, or volume label syntax is incorrect: '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);
}
将@ 符号放在引号之前。路径不能包含@符号。
另请参阅 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'.
我不知道您为什么使用 ()
来连接这些字符串。如果文件名中的 app
是文件夹,则添加另一个 \
。这应该有效:
private void button1_Click(object sender, EventArgs e)
{
string filename = @"C:\Users\Jason\Desktop\app\" + textBox2.Text + ".txt";
File.Create(filename);
}
设置文件名如下。桌面上应该有一个app文件夹。
字符串文件名=@"C:\Users\Jason\Desktop\app" + textBox2.Text + ".txt";
测试这种情况的快速方法是用 LinqPad(或在线编译器)之类的东西编写它们并使用 WriteLine 输出字符串 - 这是验证字符串是否是您想要的最快方法
在你的情况下你会看到这样的东西:
string filename = "C:\Users\Jason\Desktop\app\" + textBox2.Text + ".txt";