java读取文本数据实现连续行之间按照某一字段进行去重,保留首行和末行。
2条回答 默认 最新
- 编程爱好者熊浪 2020-04-01 09:51关注
private static final Logger logger = LoggerFactory.getLogger(CSVTest.class);
/** * 456换成要判断去重的字符串 * * @param inpPath */ private static List<String> bufferReaderAndPrintWriter(String inpPath) { BufferedReader bufferedReader = null; List<String> values = Lists.newArrayList(); try { bufferedReader = new BufferedReader(new FileReader(inpPath)); String str = null; List<String> inputStrList = Lists.newArrayList(); while ((str = bufferedReader.readLine()) != null) { if (str.indexOf("lisi") > -1) { inputStrList.add(str); } else if (!CollectionUtils.isEmpty(inputStrList)) { values.add(inputStrList.get(0)); if (inputStrList.size() > 1) { values.add(inputStrList.get(inputStrList.size() - 1)); } inputStrList.clear(); values.add(str); } else { values.add(str); } } if (!CollectionUtils.isEmpty(inputStrList)) { values.add(inputStrList.get(0)); if (inputStrList.size() > 1) { values.add(inputStrList.get(inputStrList.size() - 1)); } } } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException e) { e.printStackTrace(); } } return values; } public static void main(String[] args) { System.out.println(CSVTest.bufferReaderAndPrintWriter("C:\\Users\\xionglang\\Desktop\\test.txt")); }
![图片说明](https://img-ask.csdn.net/upload/202004/01/1585726962_371780.png)
解决 1无用
悬赏问题
- ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染