/**
* 统计字符串中的单词数目——统计字符串中单词的数目,
* 更复杂的话从一个文本中读出字符串并生成单词数目统计结果。
* @author cscss
*
*/
public class WordsNum {
public static void main(String[] args) {
// TODO Auto-generated method stub
String path ="D://1.txt";
System.out.println("d"+readTextFile(path)+"d");
}
public static int count(String s){
//去掉首尾空格,替换所有多余空格为单空格
s = s.trim().replaceAll(" ", " ");
char[] c = s.toCharArray();
int cot = 0;
for (int i = 0; i < c.length; i++) {
if (c[i] == ' ') {
cot ++;
}
}
if (cot != 0) {
return cot+1;
}
return cot;
}
public static int readTextFile(String path){
File file = new File(path);
String encode = "UTF-8";
StringBuffer stringBuffer = new StringBuffer();
try {
if (file.isFile() && file.exists()) {
System.out.println("1"+stringBuffer+"3");
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file),encode);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String i = "";
while ((i = bufferedReader.readLine()) != null) {
stringBuffer.append(i);
}
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("3"+stringBuffer+"3");
return count(stringBuffer.toString());
}
花了将将近1个小时的时间,做了这个题,大家分享交流一下哈。
欢迎关注我,每天分享更多有意思的学习经验。