展开全部

下边是我的实现。  hawon1 的实现也是正确的,e69da5e6ba903231313335323631343130323136353331333332613761

我与它的不同是没有频繁的创建文件流的开消import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

public class Test {

public static void main(String[] args) {

File file = new File("id.txt");

Map<String, List<SaveIDFile>> map = new HashMap<String, List<SaveIDFile>>();

try {

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

br.readLine();// 标题行忽略

List<SaveIDFile> list = null;

while (br.ready()) {

String line = br.readLine();

SaveIDFile data = new SaveIDFile(line);

if (map.containsKey(data.id)) {

list = map.get(data.id);

} else {

list = new ArrayList<SaveIDFile>();

map.put(data.id, list);

}

list.add(data);

}

br.close();

fr.close();

Iterator<String> iterator = map.keySet().iterator();

while (iterator.hasNext()) {

String id = iterator.next();

FileWriter fw = new FileWriter(id + ".txt");

list = map.get(id);

SaveIDFile tmp = list.get(0);

fw.write(tmp.getTitle() + "\r\n");

for (int i = 0; i < list.size(); i++) {

tmp = list.get(i);

fw.write(tmp.toString() + "\r\n");

}

fw.close();

}

} catch (Exception e) {

}

}

}

class SaveIDFile {

String id = null;

String day = null;

String hour = null;

String count = null;

public SaveIDFile(String line) {

String[] array = line.split(",");

int index = 0;

id = array[index++];

day = array[index++];

hour = array[index++];

count = array[index++];

}

public String getTitle() {

return "id day hour count";

}

public String toString() {

return id + "," + day + "," + hour + "," + count + "";

}

}

java switch中标签重复_java程序 怎样把id相同的记录挑出来,分别存到不同的文件中,除了switch case,数据量很大,id种类很多。...相关推荐

  1. java中的分页 效率考虑_面试官:数据量很大,分页查询很慢,有什么优化方案?...

    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点. 下面简单说一下我知道的一些 ...

  2. java分页查询_面试官:数据量很大,分页查询很慢,有什么优化方案?

    准备工作 一般分页查询 使用子查询优化 使用 id 限定优化 使用临时表优化 关于数据表的id说明 <Java 2019 超神之路> <Dubbo 实现原理与源码解析 -- 精品合集 ...

  3. C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符‘s’删除,将修改后的内容存到student.txt文件中。

    /*C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符's'删除,将修改后的内容存到student.txt文件中.*/ #include <stdio.h> void ...

  4. java 批量处理_Java模拟数据量过大时批量处理数据的两种实现方法

    方法一: 代码如下: import java.util.ArrayList; import java.util.List; /** * 模拟批量处理数据(一) * 当数据量过大过多导致超时等问题可以将 ...

  5. MyBatis中使用流式查询避免数据量过大导致OOM

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天mybatis查询数据库中大量的数据,程序抛出: java.lang.OutOfMemoryError: Java heap s ...

  6. 5、找出100到1000内的不含9的素数,存到result.txt文件中

    题目: /* 5.找出100到1000内的不含9的素数,存到result.txt文件中 */ 我没有写到result.txt文件中,我写到了Five127.txt文件中 代码: public clas ...

  7. js中websocket基本使用及数据量过大或推送频率过快等基本问题

    WebSocket的定义 WebSocket是html5提供的一种在单个TCP连接上进行双向通信的协议,解决了客户端和服务端之间的实时通信问题.浏览器和服务器只需完成一次握手,两者之间就可以创建一个持 ...

  8. 好名远扬 - 尝试让大数据量与大运算量程序运行在手机上

    该程序有两个特点:1,就CLDC角度而言数据量算比较大了;2,有一定量的运算与逻辑推理.写本程序的主要目的就是尝试让大数据量与大运算量程序运行在手机上(Heap Size: 512K~1024K).程 ...

  9. java如何避免注释重复_Java 8中的可重复注释

    java如何避免注释重复 使用Java 8,您可以对声明或类型重复相同的注释. 例如,要注册一个类仅应由特定角色在运行时访问,则可以编写如下内容: @Role("admin") @ ...

最新文章

  1. objective-c 多媒体 音乐播放
  2. Mavan的配置,以及与IDEA版本不一致,解决办法
  3. 一阶暂态电路三要素法和三种响应
  4. JAVA面试题(part3)--if条件语句
  5. (4.12)全面解析-SQL事务+隔离级别+阻塞+死锁
  6. JAVA线程池的创建
  7. linux使用oracal11g详细过程,很给力的linux下Oracle11g的安装过程及图解.doc
  8. 大白话5分钟带你走进人工智能-第二十二节决策树系列之概念介绍(1)
  9. 为极致的视频体验而设计:facebook新一代存储平台Bryce Canyon架构
  10. 数据库创建常用SQL语句
  11. html黑洞效果,html5黑洞动画特效
  12. win10扬声器红叉_win10系统右下角小喇叭红叉显示扬声器耳机或者耳机已拔出的图文技巧...
  13. 基于Retrofit框架的金山API翻译功能案例
  14. **任务一 WEB学习 笔记**
  15. Word制作表格常用操作
  16. 一、Tableau 基本介绍
  17. JS - 日期时间比较函数
  18. 淘宝API接口大纲,引领企业信息化
  19. 码分多址(CDMA)的本质-正交之美
  20. Python numpy.atleast_1d函数方法的使用

热门文章

  1. mongodb-查询
  2. 使用ember-cli脚手架快速构建项目
  3. pandas数据导出Execl
  4. angular2 图表指令ng2-echarts
  5. mongoDB之find()
  6. .Net程序员学习Linux最简单的方法
  7. 一个交易号的生成和还原过程
  8. C#面向对象 基础概念二十五个 (很基础,必须掌握的知识)
  9. 获取所有汉字与 Unicode 的对照表
  10. 硬盘分区表和文件分配表格式