2009-07-23 22 views
0

我在寫一個文件,如下所示。我百分百確保在寫入文件的變量中沒有換行符。但是,在打印到適用長度的記事本的每行中的任意字符數時,會創建換行符。但是,按下文件末尾的刪除(即使保留刪除)以消除任何非打印字符(如換行符)也不起作用。在受此影響的任何行的第一個字符之前按退格鍵將刪除上一行中的最後一個字符,但不會刪除換行符。寫完最後一個字符後立即移動到下一行。我已經在一個新的線上進行了測試,只是爲了看看我是否能夠超越單詞換行的開始點。我可以,但不是c#寫入的地方。我已經在命令中嘗試了TYPE KEYWORDS.LOG,並且它不打印換行符,所以我不認爲它會影響我以後通過行讀取文件。但是這是記事本中的一個小故障嗎?在C#中?在IO.StreamWriter中?在我的代碼? (我不這麼認爲?)這僅僅是一個我不知道的財產嗎?寫入記事本在任意點打包?

明顯的是,包裝紙未打開。但感謝。 。 。

調整窗口大小不會包裝文本,或者改變我所描述的效果。

// OPEN STREAM TO KEYWORDS.LOG 
StreamWriter fileWrite = new StreamWriter("KEYWORDS.LOG"); 

for (int i=0;i<Referrals.Count();i++) 
{ 
    // FIRST THE URL 
    Console.Write("\n\n{0}\n-", Referrals[i].URL); 

    // NOW TO THE FILE! 
    fileWrite.Write("{0}@", Referrals[i].URL); 


    var SortedKeys = from k in Referrals[i].Keywords.Keys orderby Referrals[i].Keywords[k] descending select k; 
    foreach (string Phrase in SortedKeys) 
    { 
    // NOW TO THE CONSOLE 
    Console.Write("\t({0}) {1}\n", Referrals[i].Keywords[Phrase], Phrase); 

    // NOW TO THE FILE! 
    fileWrite.Write("##{0}##{1}", Referrals[i].Keywords[Phrase], Phrase); 
    } 

    // LINE BREAK FOR FILE! 
    fileWrite.WriteLine(""); 

} 


    // CLOSE FILE STREAM 
    fileWrite.Close(); 

回答

0

是否有可能你你有記事本上的「自動換行」?對不起,如果這似乎是一個明顯的問題。

+1

調整要測試的窗口 – inspite 2009-07-23 14:48:07

-1

錯誤...在記事本中雙擊「Format」 - 「Word Wrap」。

1

這絕對不是一個自動換行的問題。我在使用以前版本的Windows(XP,我認爲)的記事本中遇到過這個問題,並且限制是4096個字符。今天我在Windows 7的記事本上試了一下,限制爲1024個字符。 我嘗試過的其他幾個文本編輯器強加一個「每行字符數」限制,這個限制通常是沒有記錄的。 我很少遇到一種情況,即每行需要多於幾百個字符,但我認爲沒有理由施加限制。

我在創建ASCII立體圖時首先遇到了這個問題。我想要一個足夠大的海報來打印海報,我正在用記事本來看它。只要我生成一個超過4096個字符的寬度,每行都被包裝起來。它看起來很糟糕。

這些文本查看器實際上並沒有在文本中插入任何換行符。他們正在改變他們顯示文本的方式。這就是爲什麼當光標位於下一行「行」的開頭時,您可以刪除「行」的最後一個字符。我把「行」放在引號中,因爲它不是真正的行。你實際上是在真正的文本行中間的某處刪除文本。假設文本編輯器運行良好,當你保存文件時,它仍然有很長的一行。如果您稍後在能夠顯示足夠長的線的查看器中查看文本,它應該正確顯示。