3

リッチテキストボックスから .txt ファイルへの保存に問題があります

コードは次のとおりです。

if (richTextBox1.Text != String.Empty)
            {
                string dir = @"c:\\logs\\" + DateTime.Today.ToString("dd_MMM_yy");
                string path = @"c:\\logs\\" + DateTime.Today.ToString("dd_MMM_yy") + "\\" + DateTime.Now.ToString("HH.mm.ss") + ".txt";
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }

                if (!File.Exists(path))
                {
                    File.Create(path);
                    richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
                }

            }
            else
                MessageBox.Show("ERROR");

どこが間違っているのですか?別のプロセスで使用されているため、ファイルにアクセスできないと表示されます...どんな助けも大歓迎です

ありがとう、ドニスコ

4

3 に答える 3

7

ファイルを作成するため、ファイル行の作成を避けることができSaveFileます。

File.Createファイルの開いているストリームが返されるため、再度アクセスする前に閉じる必要があります。とにかく create file を使用する必要がある場合は、以下のようにしてください

using(File.Create(path));
richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
于 2013-10-13T11:32:03.020 に答える
1

File.Create作成されたファイルのストリームを返します。

破棄しない限り、ファイルを開いたままにします

Stream を使用してファイルに直接書き込むこともできます。このusingステートメントを使用すると、割り当ての問題を回避するのに役立ちます。

        using (FileStream fs = File.Create(path))
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }
于 2013-10-13T11:31:01.217 に答える
0
 richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText);
于 2017-05-06T00:20:50.917 に答える