所以我正在制作一个桌面WPF应用程序,它的主要作用是创建一个.txt文件,其中包含用户在两个不同的文本框中给出的内容和名称("textHolder"表示内容,"docName"表示名称(。
基本上,用户写下文档的名称、一些内容,并在他按下";保存";按钮,应用程序会创建一个包含这些文件信息的.txt文档。我设法对内容和保存部分进行了编码,但我一直在尝试更改文档的名称。
我曾尝试使用.MoveTo方法更改名称,但我不知道如何将用户给定的名称包含在字符串中。(以下代码无法正常工作(
private void Button_Click(object sender, RoutedEventArgs e)
{
StreamWriter sw = new StreamWriter(
@"C:Usersalex_OneDriveAllDesktopTextsnewTextDoc.txt");
sw.Write(textHolder.Text);
sw.Close();
string nameOfTheDoc = docName.Text + ".txt";
string filePath = "C:\Users\alex_\OneDrive\All\Desktop\Texts";
string pathAndName = filePath + nameOfTheDoc;
FileInfo fi = new FileInfo(
@"C:Usersalex_OneDriveAllDesktopTextsnewTextDoc.txt");
if (fi.Exists)
{
fi.MoveTo(pathAndName);
}
}
您已经在为所需的输出文件创建pathAndName
。为什么不直接写入该文件名而不是newTextDoc.txt
,然后重命名呢。
您的pathAndName
在filePath和fileName部分之间缺少路径分隔符。但无论如何,您可能应该使用System.IO.Path.Combine来创建文件名。这样可以处理分隔符并插入正确的分隔符。
private void Button_Click(object sender, RoutedEventArgs e)
{
string nameOfTheDoc = docName.Text + ".txt";
string filePath = System.IO.Path.Combine("c:", "users", ... ,"Texts", nameOfTheDoc);
StreamWriter sw = new StreamWriter(filePath);
sw.Write(textHolder.Text);
sw.Close();
}