一些经验总结:

1.对于读取文件,大家要熟记BufferedReader类,他可以一次读取一行,在很多的笔试题会遇到这样的例子,但是判断读取结束的标志并不是我们平时所见的-1,而是null。

2.可以利用集合进行简化代码,比如list元素可以重复,但是set的元素不可以重复等

package com.hbut.test;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ReadName {

/**
* 1、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序
* name.txt文件内容如下
*  1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35

*/
public static void main(String[] args) throws IOException {

//使用BufferedReader一次可以读取一行,判断是否为结尾用null判断
BufferedReader bf = new BufferedReader(new FileReader("names.txt"));
 
String str= bf.readLine();
List<String> names = new ArrayList<String>();
while(str!=null){  //1,张三,28
String []st=str.split(",");
names.add(st[1]);//只把姓名添加进去就可以了
str= bf.readLine();
}

Set<String> name =new HashSet<String>(names); //[赵六, 张三, 田七, 李四, 王五]  
   //由于set集合是不允许有重复的元素的,所以可以用set集合去重
for(String set :name){
String temp=set;
int num=0;
for(String s : names)  //list集合里有很多重复的。对每次迭代的元素,要是次数大于2就表示重复
{
if(temp.equals(s)){
num++;
}

}
if(num>=2){
System.out.println(temp+"重复次数:"+num);

}

}

}

}

输出结果:

                  张三重复次数:3
                  李四重复次数:2

从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数相关推荐

  1. java从文本中读取,从Java中的文本文件中读取long类型

    我试图从BufferedReader类的readLine()方法从文本文件中读取长类型,然后我使用StringTokenizer解析第一个标记(这是长类型编号),但我面临的异常错误是java.lang ...

  2. Java中从指定文本文件中读取内容,并显示到屏幕上。

    [问题描述]从指定文本文件test.txt中读取内容,并显示到屏幕上. [输入形式]当前目录下的文本文件 test.txt ,内容可能如下: 在完成这个问题的过程中学到了很多,比如相对路径与绝对路径的 ...

  3. python读取txt文件代码-从文本文件中读取Python代码

    I am trying to use the contents of a text file as Python code e.g. if I write import sys in a text f ...

  4. c语言读取网页文本内容,从文本文件中读取数据

    请问如何用c语言从txt文件中读取数据? 请问如何用c语言从txt文件中读取数据? 就是用空格分开的数据,例如:12//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录 - #in ...

  5. java 文件读取 逗号分隔_如何从Java中的文本文件中读取逗号分隔值?

    我有这个文本文件,其中包含地图上不同点的纬度和经度值. 我如何将我的弦乐分成纬度和经度?与其他分隔符(如空格或制表符等)一起执行这些类型的事物的一般方法是什么? 样本文件: 28.5150462805 ...

  6. python读取用空格分隔的文字_Python:从类似readlin的文件中读取空格分隔的字符串...

    您需要创建一个包装函数:这非常简单:def read_by_tokens(fileobj): for line in fileobj: for token in line.split(): yield ...

  7. RTThread 操作系统中,编译出的程序为什么能打印出当前时间?

    ## 1. 做实验引发的思考 在之前学习RT-Thread操作系统时,我发现一个比较有趣的现象: 串口打印的日志中竟然包含着当前时间!并且,我每天做实验时,这个日期都会变化,还能保持和当前时间一致! ...

  8. java 只显示文本文件_Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时能够计算出文本中的行数。...

    展开全部 java编写显示文本的应用程序, 需要用到图形界面GUI编程技术. 步骤一: 需要搭建一个整体的外观32313133353236313431303231363533e4b893e5b19e3 ...

  9. java取文本首位_java – 从文本文件中读取的第一个字符:[复制]

    参见英文答案 > Java read file got a leading BOM [  ]                                    6个 如果我写这段代码, ...

最新文章

  1. php getconfig,PHP: tidy::getConfig - Manual
  2. SilhoNet:一种用于3D对象位姿估计和抓取规划的RGB方法
  3. 计算机视觉>>PCV安装和使用
  4. SUN平台,光纤共享存储互斥失败导致的数据灾难恢复
  5. ImageView 缩放
  6. 关于华为x2中的外置SDCard的使用
  7. Inchat时代真的来了?上线一周突破百万用户
  8. 「Apollo」Cyber RT 学习笔记
  9. 第46讲:遇到动态页面怎么办?详解渲染页面爬取
  10. 使用fn函数控制页面显示内容
  11. 第十一期:30秒内便能学会的30个实用Python代码片段
  12. 解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题
  13. 备份linux分区到usb,将Linux引导加载程序备份到USB的方法
  14. 瑞幸咖啡退市成定局:董事长被要求辞职,新店却仍在扩张
  15. 计算机不属于发明保护客体,如何判断两种类型的计算机程序发明能否成为专利保护客体?...
  16. 一致性hash算法学习
  17. 使用Visual Studio进行单元测试-Part4
  18. SLAM算法开发中,C++编程+多节点的正确调试方法
  19. 江南大学 超级计算机,2012年暑期学校22-过程之旅--江南大学 李婷
  20. 机器人运动估计——IMU运动方程与ESKF原理介绍(上)

热门文章

  1. 14.count-api
  2. 12.suggest_type
  3. 题意解读+详细题解-Leecode 319. 灯泡开关——Leecode每日一题系列
  4. 22行代码AC——习题5-6 对称轴(Symmetry,UVa1595)——解题报告
  5. flask执行python脚本_如何在Flask中运行python脚本
  6. php识别名片,用户信息名片怎么利用PHP实现自动生成
  7. Mybatis-generator逆向生成运行正常,但没有生成任何文件
  8. K8S——单master节点和基于单master节点的双master节点二进制部署(本机实验,防止卡顿,所以多master就不做3台了)
  9. RT-Thread工程代码框架分析——(1)启动流程
  10. mysql数据库内置函数大全_MySQL数据库——内置函数