我有一个文本文件,其中只包含小写字母,没有空格标点符号。我想知道通过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