我有一個文本文件,其中只包含小寫字母,沒有空格標點符號。我想知道通過char讀取char文件的最佳方式,如果下一個char是空格,它表示一個單詞的結尾和一個新單詞的開始。即當每個字符被讀取時,它被添加到一個字符串,如果下一個字符是空格,那麼該字被傳遞到另一個方法並被重置,直到讀取器到達文件的結尾。逐字讀取文本文件
我試圖用一個StringReader,像這樣的事情要做到這一點:
public String GetNextWord(StringReader reader)
{
String word = "";
char c;
do
{
c = Convert.ToChar(reader.Read());
word += c;
} while (c != ' ');
return word;
}
,並把GetNextWord方法在一個while循環,直到文件的末尾。這種方法是否有意義,或者有更好的方法來實現這一點?
請不要在「C#:」等前加上標題。這就是標籤的用途。 – 2012-03-16 16:03:03
我認爲你應該從文件中讀取更大的塊(比如說4096字節),否則看起來很好......另外,我想知道什麼是最佳尺寸:) – neeKo 2012-03-16 16:05:01
構建這樣的字符串會產生很多對象(記住字符串是不可變的)。如果您想要在讀取文件時建立字符串,請使用'StringBUilder'。 – 2012-03-16 16:05:20