3

好的,所以我的问题是;我正在尝试将文件保存到 C: 驱动器的文件夹中。现在,我知道如何对常规文件执行此操作,例如

using(StreamWriter writer = new SteamWriter("c:\\Folder\\TextFile.txt");

我一直想弄清楚的是如何制作它,以便将文本文件的名称替换为一个变量,所以它更像

using(StreamWriter writer = new SteamWriter("c:\\Folder\\Variablegoeshere.txt");

无论如何我可以做到这一点吗?

我为我糟糕的提问技巧道歉。

4

2 回答 2

4

StreamWriter许多其他构造函数和方法调用一样,构造函数接受一个字符串参数。你可以传递任何你喜欢的字符串。在您的第一个代码示例中,您向构造函数传递了一个“字符串文字”——一个具有常量值的未命名字符串变量。相反,您可以传递一个预先构建的标准字符串变量。例如:

string name = // whatever you like
string path = "c:\\Folder\\" + name + ".txt"; // use '+' to combine strings
using (StreamWriter writer = new SteamWriter(path));

当我连接路径组件时,我通常喜欢使用Path.Combine静态方法。帮助我避免丢失或加倍反斜杠的问题:

string path = System.IO.Path.Combine("c:\\Folder", name + ".txt");

最后,使用字符串逐字修饰符,您可以避免那些丑陋的双反斜杠,否则这是必要的,因为反斜杠是非逐字字符串中的“转义”字符:

string path = System.IO.Path.Combine(@"c:\Folder", name + ".txt");

这是C# 中字符串的 Microsoft 开发人员参考页面。值得一读,更大的C# 语言参考也是如此。

于 2013-10-06T02:12:48.763 回答
0
var inputPath = "c:\\Folder\\TextFile.txt";
var folderPath = Path.GetDirectoryName( inputPath );
using ( var writer = new StreamWriter ( Path.Combine( folderPath, "Variablegoeshere.txt" ) )
于 2013-10-06T02:12:20.247 回答