richTextBox1.Text
次のコードのみを使用して(テキスト全体を)1行で保存しようとしているため、おそらくこれが発生します
isi = richTextBox1.Text;
write = new System.IO.StreamWriter(file);
write.WriteLine(isi);
write.Close();
write.WriteLine()
の特定の行番号で使用してrichTextBox1
から、別の行に移動することをお勧めします。
例
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
write.WriteLine(richTextBox1.Lines[i]);
}
write.Close();
別の解決策
RichTextBox
特定のエンコーディングでファイルを保存するための組み込み関数がすでにあります。RichTextBox.SaveFile()
この目的で使用できます。
例
RichTextBox.SaveFile(string path, RichTextBoxStreamType);
パスsaveFileDialog1.FileName
がコード内で表す場所。の場合、色/フォント/保護/インデントなどのRTFを使用しない限り、RichTextBoxStreamType
設定するのが最適です。RichTextBoxStreamType.PlainText
次に、次の方法を使用してファイルを再度読み取ることができます
RichTextBox.LoadFile(string path, RichTextBoxStreamType);
注意:ファイルがRTFになく、RTF(RichTextBox.LoadFile(string path, RichTextBoxStreamType.RichText);
)で読み込もうとすると、フォーマットエラーが発生する場合があります。この場合、例外をキャッチして、プレーンまたはUnicodeエンコーディングでファイルを読み取る必要があります。
例
RichTextBox _RichTextBox = new RichTextBox();
try
{
_RichTextBox.LoadFile(@"D:\Resources\text.txt", RichTextBoxStreamType.RichText);
}
catch (Exception EX)
{
if (EX.Message.ToLower().Contains("format is not valid"))
{
_RichTextBox.LoadFile(@"D:\Resources\text.txt", RichTextBoxStreamType.PlainText);
}
}
ありがとう、
これがお役に立てば幸いです:)