好吧,我的问题是;我正在尝试将文件保存到文件夹中的C:驱动器。现在,我知道如何为常规文件(如
)执行此操作using(StreamWriter writer = new SteamWriter("c:\\Folder\\TextFile.txt");
我一直在想弄清楚我是如何做到的,以便文本文件的名称被变量替换,所以更像是
using(StreamWriter writer = new SteamWriter("c:\\Folder\\Variablegoeshere.txt");
无论如何我能做到吗?
我为我提出技巧的问题道歉。
答案 0 :(得分:3)
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 verbatim modifier,你可以避免那些丑陋的双反斜杠,否则这是必要的,因为反斜杠是非逐字字符串中的“转义”字符:
string path = System.IO.Path.Combine(@"c:\Folder", name + ".txt");
这是 Microsoft developer reference page for strings in C#。值得一读,更大的C# language reference。
答案 1 :(得分:0)
var inputPath = "c:\\Folder\\TextFile.txt";
var folderPath = Path.GetDirectoryName( inputPath );
using ( var writer = new StreamWriter ( Path.Combine( folderPath, "Variablegoeshere.txt" ) )