テキストファイル保存の際に改行をいれるには?

解決


ゴロベエ  2004-11-09 21:14:19  No: 117467

VB.NET2003  Windows2000環境です。

リッチテキストボックスの内容を保存する際に、改行が反映されないため
困っています。
保存されてファイルをメモ帳で見ると、「文字列・文字列」になっています。
"・"が改行の意味と思うのですが、どのように組めば保存されたテキストファイル
を見た際に、うまく改行できるのでしょうか?

現状は以下のように保存しています。
Dim sw As New System.IO.StreamWriter("c:\test.txt", False, _
                System.Text.Encoding.Default)
sw.Write(RichTextBox1.Text)
sw.Close()

ご回答のほどよろしくお願いいたします。


マグ  2004-11-09 21:53:35  No: 117468

単純な方法は、

その保存したテキストを再度、読み込んで、
読み込んだ内容をリッチテキストに表示させずに、変数にいれて、
IndexOfとSubStringで・を改行に変更し、
保存をする。


raki  URL  2004-11-09 22:22:53  No: 117469

改行の文字が
CR(0D) のみ、または LF(0A) のみとなっているのではないでしょうか。
書き込む際に CRLF(0D0A) に全置換してはどうでしょうか。


ゴロベエ  2004-11-09 23:03:10  No: 117470

マグさん、rakiさん回答ありがとうございます。

以下の内容で解決しました。
Dim sw As New System.IO.StreamWriter("c:\test.txt", False, _
                System.Text.Encoding.Default)
b = Replace(RichTextBox1.Text, vbLf, vbCrLf)  ←追加
sw.Write(b)
sw.Close()

rakiさんのおっしゃる通り、LF(0A)のみしか認識していませんでした。
LF(0A)⇒CRLF(0D0A)に置換する事で思うとおりに出力してくれました。
本当に助かりました。ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加