-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")

GetSpecialFolderオプション 2:パーツをハードコードされたパスに置き換えたい:

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

オプション 3: パス全体をハードコードされたパスに置き換えたい:

もう使う理由がないPath.Combine

"C:\SomeHardCodedRootDi\maincode.txt"

選択肢 n: 思いもよらなかったこと

上記のいずれもあなたの質問に答えない場合は、あなたが達成しようとしていることの詳細を提供することができます (これにより、副作用として、この質問が反対票を獲得し、リクエストを閉じることができなくなります!!)、私は答えるために最善を尽くしますこの回答を更新して質問。

于 2012-09-18T11:09:12.907 に答える