如何使用堆叠在字符串中的名称在c#中重命名.txt文档



所以我正在制作一个桌面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();
}

最新更新