运用字节流对于给定的文件sample.txt,统计其中单词的个数,以及给定单词出现的次数。用java实现
时间: 2023-11-27 12:50:55 浏览: 37
可以使用Java中的`FileInputStream`读取文件中的字节流,然后将字节流转换成字符串,最后统计单词个数和给定单词出现的次数。
以下是一个简单的实现:
```java
import java.io.*;
public class WordCount {
public static void main(String[] args) {
String filename = "sample.txt";
String word = "hello";
int wordCount = 0;
int targetCount = 0;
try {
FileInputStream fis = new FileInputStream(filename);
byte[] data = new byte[fis.available()];
fis.read(data);
fis.close();
String content = new String(data);
String[] words = content.split("\\s+");
wordCount = words.length;
for (String w : words) {
if (w.equals(word)) {
targetCount++;
}
}
System.out.println("Total words: " + wordCount);
System.out.println("Target word '" + word + "' count: " + targetCount);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个实现中,我们首先用`FileInputStream`读取了文件中的字节流,并将其转换为字符串。然后,我们使用`split`方法将字符串拆分成单词数组,并统计单词数量。最后,我们遍历单词数组,统计给定单词出现的次数。
需要注意的是,在`split`方法中,我们使用了一个正则表达式`\s+`来将字符串按照空格拆分成单词数组。这个正则表达式表示任意一个或多个空格。