java 读取文件中每个单词出现的次数

2024-12-16 00:16:29
推荐回答(5个)
回答1:

java 读取文件中每个单词出现的次数:

public static void display(File file)throws Exception{
 File file=new File("文件路径");
 BufferedReader br = new BufferedReader(new FileReader(file));
 String line = null;
 //定义一个map集合保存单词和单词出现的个数
 TreeMap tm = new TreeMap();
 //读取文件
 while((line=br.readLine())!=null){
   
    line.toLowerCase();
    String reg1 = "\\s+";
    String reg2 ="\\w+";
    //将读取的文本进行分割
    String str[] = line.split(reg1);
    for(String s: str){
     if(s.matches(reg2)){
       //判断集合中是否已经存在该单词,如果存在则个数加一,否则将单词添加到        //集合中,且个数置为1
       if(!tm.containsKey(s)){
         tm.put(s,1);
      }else{
         tm.put(s,tm.get(s)+1);
         }
    }
  }
}
System.out.println(tm);
}

回答2:

java 对文件的读取中不支持.rtf,rtf是一张专门的格式,要用专门的组件进行读取。
rtf文件的读取应该有相关的api,你可以在网上找一找。

回答3:

不要用rtf的文件格式,用常规点的不就行了

回答4:

public static void display(File file)throws Exception{
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
TreeMap tm = new TreeMap();
while((line=br.readLine())!=null){
line.toLowerCase();
String reg1 = "\\s+";
String reg2 ="\\w+";
String str[] = line.split(reg1);
for(String s: str){

if(s.matches(reg2)){
if(!tm.containsKey(s)){
tm.put(s,1);
}
else{
tm.put(s,tm.get(s)+1);
}
}
}
}
System.out.println(tm);

回答5:

SAXReader reader = new SAXReader();
File xmlFile = new File(xmlPath);
Document document = reader.read(xmlFile);
List drivers = document.getRootElement().elements("driver");
for (Element element : drivers) {
String dbType = element.attribute("name").getValue();
JdbcTemplate tmp = new JdbcTemplate();
tmp.setDriverClass(element.element("className").getText());
tmp.setDialect(element.element("dialect").getText());
tmp.setJdbcUrl(element.element("jdbcUrl").getText());
DB_TEMPLATE_MAP.put(dbType, tmp);
}