逐行读取文本文件,为不同的情况增加不同的变量

时间:2017-03-21 14:55:54

标签: java twitter

File file = new File("C:\\Users\\markc\\OneDrive\\Documents\\NetBeansProjects\\TwitterTest\\src\\text\\pieChartSource.txt");
Scanner s = new Scanner(file);
int twitterWebClient = 0;
int tweetDeck = 0;
int android = 0;
int iphone = 0;
int other = 0;

while (s.hasNext()) {
    if (s.next().contains("Twitter Web Client")) {
        twitterWebClient++;
        break;
    } else if (s.next().contains("TweetDeck")) {
        tweetDeck++;
        break;
    } else if (s.next().contains("Twitter for Android")) {
        android++;
        break;
    } else if (s.next().contains("Twitter for iPhone")) {
        iphone++;
        break;
    } else {
        other++;
        break;
    }
}

s.close();

我正在读取名为" pieChartSource"的文本文件,扫描每一行以查看是否包含某个短语,如果它确实增加了一个变量然后中断了下一行。

然后我只是在控制台中打印每个变量。

从图像中的这个实例(在注释中),其他有1,所有其他值都有0.

关于为什么它没有正确计数的任何想法?

1 个答案:

答案 0 :(得分:0)

每次调用s.next()时,扫描仪都会沿着文件移动。我相信你可以评估你的条件,如:

Module#included