C#ストリームライターに問題があります。私は次のコードを使用します:
//Constructor
public EditorTXTFile
{
FileStream f = File.Create(System.IO.Directory.GetCurrentDirectory() + "\\Output.txt");
f.Close();
}
//Function AddText
public void AddLogFileText(string text)
{
string text = "l1\n\rl2\n\rl3\n\nl5";
StreamWriter writer = new StreamWriter(System.IO.Directory.GetCurrentDirectory() + "\\Output.txt", true);
writer.Write(text);
writer.Close();
}
Output.txtを開くと、\ nまたは\ ra█(表示されない記号を意味します)が表示され、文字列全体が1行に表示されます...後でテキストが関数を渡すため、テキストを書き込むことができません実際の文字列が同じ行にあるのか新しい行にあるのかわからないので、.WriteLineを使用します。
何が悪いのですか?
助けてくれてありがとう。
使用する Environment.NewLine
行区切りとして、または"\r\n"
手作業で行いたい場合。
行区切り(newLine)は\r\n
ない\n\r
、
テキストを次のように変更します。
string text = "l1\r\nl2\r\nl3\r\nl5";
string text = @"l1\n\rl2\n\rl3\n\nl5";
をお試しください。文字詰めを防ぐため。
クラスを作成して「\ in」を分離しようとしましたが、リッチテキストボックスを見つけました!!
うん!できます:
RichTextBox rch = new RichTextBox();
rch.Text = cmn;
foreach (string l in rch.Lines)
strw.WriteLine(l);
次のようにEnvironment.NewLine
を使用できます。
streamWriter.Write(String.Concat(Enumerable.Repeat(Environment.NewLine, n).ToArray()));
これはバイナリ形式です:
writer.Write(text);
これは行順フォーマットです:
writer.WriteLine(text);
WriteLine
形式を使用する必要があります...