如何从文件中逐字读取?
Posted
技术标签:
【中文标题】如何从文件中逐字读取?【英文标题】:How to read word by word from file? 【发布时间】:2012-01-11 19:20:41 【问题描述】:任何人都可以在这里发布一些代码,我我只知道如何使用 BufferedReader 从文件中逐行读取。如果有人用 BufferedReader 发布它,我想知道。
我用这段代码解决了这个问题:
StringBuilder word = new StringBuilder();
int i=0;
Scanner input = new Scanner(new InputStreamReader(a.getInputStream()));
while(input.hasNext())
i++;
if(i==prefNamePosition)
word.append(prefName);
word.append(" ");
input.next();
else
word.append(input.hasNext());
word.append(" ");
【问题讨论】:
是的,我当然忘记了。我可以使用它。但是有一个问题。我编辑了Q,看看那里。 【参考方案1】:除了 read() 并一次获取一个字符,直到你得到一个空格或任何你想要确定“单词”是什么的标准,没有其他好方法。
【讨论】:
【参考方案2】:如果您尝试用特殊值替换第 n 个标记,请尝试以下操作:
while (input.hasNext())
String currentWord = input.next();
if(++i == prefNamePosition)
currentWord = prefName;
word.append(currentWord);
word.append(" ");
【讨论】:
我昨天用一个小改动解决了这个问题,你可以看到它。但感谢您对使用 Scanner 的建议。顺便提一句。它也适用于您的代码。【参考方案3】:另一种方法是使用标记器(例如在 Java 中)并使用分隔符空格字符(即 ' ')。然后只需遍历标记以读取文件中的每个单词。
【讨论】:
【参考方案4】:您可以读取行,然后使用拆分。单词没有明确的定义,但如果你想要用空格分隔的单词,你可以这样做。
您也可以使用正则表达式来执行此操作。
【讨论】:
不,这不是我需要的。我需要通过while循环读取单词,因为当循环重复例如第四个时,我需要替换第四个单词。 您可以将该行存储在一个变量中,然后通过“word”逐个“word”迭代该行。并做你想做的过程。以上是关于如何从文件中逐字读取?的主要内容,如果未能解决你的问题,请参考以下文章