如何从文件中逐字读取?

发布于 2024-12-26 23:56:42 字数 743 浏览 3 评论 0原文

有人可以在这里发布一些代码,我如何从文件中逐字读取?我只知道如何使用 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(" ");
                    }
                }

Could anybody post here some code how can I read word by word from file? I only know how to read line by line from file using BufferedReader. I'd like if anybody posted it with BufferedReader.

I solved it with this code:

    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(" ");
                    }
                }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

悲喜皆因你 2025-01-02 23:56:42

除了 read() 并一次获取一个字符,直到得到一个空格或任何你想要确定“单词”是什么的标准为止,没有什么好的方法。

There's no good way other than to read() and get a character at a time until you get a space or whatever criteria you want for determining what a "word" is.

多像笑话 2025-01-02 23:56:42

如果您尝试将第 n 个标记替换为特殊值,请尝试以下操作:

while (input.hasNext()) {
    String currentWord = input.next();
    if(++i == prefNamePosition) {
        currentWord = prefName;
    }
    word.append(currentWord);
    word.append(" ");
}

If you're trying to replace the nth token with a special value, try this:

while (input.hasNext()) {
    String currentWord = input.next();
    if(++i == prefNamePosition) {
        currentWord = prefName;
    }
    word.append(currentWord);
    word.append(" ");
}
梓梦 2025-01-02 23:56:42

另一种方法是使用分词器(例如在 Java 中)并使用分隔符空格字符(即“”)。然后只需迭代标记即可从文件中读取每个单词。

Another way is to employ a tokenizer (e.g. in Java) and using the delimiter space character (i.e. ' '). Then just iterate through the tokens to read each word from your file.

拥抱影子 2025-01-02 23:56:42

您可以读取行,然后使用拆分。单词没有明确的定义,但如果你想要用空格分隔单词,你可以这样做。

您还可以使用正则表达式来执行此操作。

You can read lines and then use splits. There is no clear definition of word but if you want the ones separated by blank spaces you can do it.

You could also use regular expressions to do this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文