-4

如何在其中添加字符串:

public void Form1_Load(object s, EventArgs e)
{
    using (System.IO.StreamWriter sw = new System.IO.StreamWriter(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "maincode.txt"))) {
        sw.WriteLine("00000012{0:yyyyMMdd}{1}{0:HHmmss}", DateAndTime.Now, (new Random()).Next(0, 2) == 0 ? "0010" : "0054");
    }
}

我想通过使用字符串来指定位置。有谁知道我如何添加字符串路径而不是System.IO.Path.Combine

4

1 回答 1

1

你的问题有点模糊,但是让我们读一读你的想法......

您尚未指定添加的字符串或添加方式,但这里有一些选项,它们都围绕您的代码的这一部分:

  System.IO.Path.Combine(
      Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 
      "maincode.txt")

此调用Path.Combine将返回一个字符串,该字符串表示特殊文件夹“ApplicationData”内名为“maincode.txt”的文件的路径。

选项 1:您希望在子目录中创建相同的文件

由于该Path.Combine方法可以采用任意数量的参数,因此您只需附加子目录的名称即可:

System.IO.Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 
    "SomeSubDirectory",
    "maincode.txt")

选项 2:您想GetSpecialFolder用硬编码路径替换零件:

System.IO.Path.Combine(
    "C:\SomeHardCodedRootDir",
    "maincode.txt")

选项 3:您想用硬编码路径替换整个路径:

现在没有理由使用Path.Combine

"C:\SomeHardCodedRootDi\maincode.txt"

选项n:我没有想到的东西

如果以上都没有回答您的问题,您可以提供有关您要达到的目标的更多详细信息(作为副作用,这将阻止这个问题获得否决和关闭请求!!)我会尽力回答通过更新此答案来解决问题。

于 2012-09-18T11:09:12.907 回答