请参阅下面的解决方案.您提供的测试文件test1.txt似乎在文件开头有一些特殊的字符.

.

public class Test {

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

Test test = new Test();

test.execute();

}

private static String TYPE_XTSM = "XTSM";

private static String TYPE_XTS = "XTS";

private static String TYPE_XRX = "XRX";

private static String TYPE_XHAN = "XHAN";

private void execute() throws IOException {

InputStream in = null;

BufferedReader br = null;

TreeMap> xtsmMap = new TreeMap>();

try {

in = Test.class.getResourceAsStream("test1.txt");

br = new BufferedReader(new InputStreamReader(in));

String line;

while ((line = br.readLine()) != null) {

Record rec = new Record(line);

processRecord(xtsmMap, rec);

}

} finally {

if (br != null) {

br.close();

}

}

printResults(xtsmMap);

}

private void processRecord(

TreeMap> xtsmMap, Record rec) {

TreeMap xtsMap;

if (xtsmMap.containsKey(rec.getXtsm())) {

xtsMap = xtsmMap.get(rec.getXtsm());

} else {

xtsMap = new TreeMap();

xtsmMap.put(Integer.valueOf(rec.getXtsm()), xtsMap);

}

if (xtsMap.containsKey(rec.getXts())) {

Integer count = xtsMap.get(rec.getXts());

xtsMap.put(Integer.valueOf(rec.getXts()), Integer.valueOf(count

.intValue() + 1));

} else {

xtsMap.put(Integer.valueOf(rec.getXts()), Integer.valueOf(1));

}

}

private void printResults(

TreeMap> xtsmMap) {

System.out.println("Type\t\tTotal");

Set xtsmSet = xtsmMap.navigableKeySet();

for (Integer xtsm : xtsmSet) {

TreeMap xtsMap = xtsmMap.get(xtsm);

Set xtsSet = xtsMap.navigableKeySet();

for (Integer xts : xtsSet) {

Integer count = xtsMap.get(xts);

String outputLine = TYPE_XTSM + ":" + xtsm + "/" + TYPE_XTS

+ ":" + xts + "\t" + count;

System.out.println(outputLine);

}

}

}

private static class Record {

private Integer xtsm, xts, xrk, xhan;

Record(String line) {

StringTokenizer st = new StringTokenizer(line, "/");

while (st.hasMoreTokens()) {

String token = st.nextToken();

String type = token.substring(0, token.indexOf(":"));

String valueStr = token.substring(token.indexOf(":") + 1, token

.length());

Integer value = Integer.valueOf(valueStr);

if (TYPE_XTSM.equals(type)) {

xtsm = value;

} else if (TYPE_XTS.equals(type)) {

xts = value;

} else if (TYPE_XRX.equals(type)) {

xrk = value;

} else if (TYPE_XHAN.equals(type)) {

xhan = value;

}

}

}

public Integer getXtsm() {

return xtsm;

}

public Integer getXts() {

return xts;

}

public Integer getXrk() {

return xrk;

}

public Integer getXhan() {

return xhan;

}

}

}

.

产量

Type Total

XTSM:0/XTS:0 29

XTSM:0/XTS:1 29

XTSM:0/XTS:2 29

XTSM:1/XTS:0 29

XTSM:1/XTS:1 29

XTSM:1/XTS:2 29

XTSM:2/XTS:0 29

XTSM:2/XTS:1 29

XTSM:2/XTS:2 29

XTSM:3/XTS:0 14

XTSM:3/XTS:1 14

XTSM:3/XTS:2 14

XTSM:4/XTS:0 13

XTSM:4/XTS:1 13

XTSM:4/XTS:2 13

XTSM:5/XTS:0 14

XTSM:5/XTS:1 14

XTSM:5/XTS:2 14

XTSM:6/XTS:0 21

XTSM:6/XTS:1 21

XTSM:6/XTS:2 21

XTSM:7/XTS:0 29

XTSM:7/XTS:1 29

XTSM:7/XTS:2 29

XTSM:8/XTS:0 14

XTSM:8/XTS:1 21

XTSM:9/XTS:0 21

XTSM:9/XTS:1 21

XTSM:9/XTS:2 21

XTSM:10/XTS:0 14

XTSM:10/XTS:1 14

XTSM:10/XTS:2 14

XTSM:11/XTS:0 14

XTSM:11/XTS:1 14

XTSM:11/XTS:2 14

XTSM:12/XTS:0 14

XTSM:12/XTS:1 14

XTSM:12/XTS:2 14

XTSM:13/XTS:0 29

XTSM:13/XTS:1 29

XTSM:13/XTS:2 29

XTSM:14/XTS:0 29

XTSM:14/XTS:1 29

XTSM:15/XTS:0 29

XTSM:15/XTS:1 29

XTSM:15/XTS:2 29

XTSM:16/XTS:0 29

XTSM:16/XTS:1 29

XTSM:16/XTS:2 29

XTSM:17/XTS:0 29

XTSM:17/XTS:1 29

XTSM:17/XTS:2 29

XTSM:18/XTS:0 29

XTSM:18/XTS:1 29

XTSM:18/XTS:2 29

XTSM:19/XTS:0 29

XTSM:19/XTS:1 29

XTSM:19/XTS:2 29

XTSM:21/XTS:0 29

XTSM:21/XTS:1 29

XTSM:21/XTS:2 29

XTSM:22/XTS:0 29

XTSM:22/XTS:1 29

XTSM:22/XTS:2 29

XTSM:23/XTS:0 29

XTSM:23/XTS:1 29

XTSM:23/XTS:2 29

XTSM:24/XTS:0 29

XTSM:24/XTS:1 29

XTSM:24/XTS:2 29

XTSM:25/XTS:0 29

XTSM:25/XTS:1 29

XTSM:25/XTS:2 29

XTSM:26/XTS:0 14

XTSM:26/XTS:1 14

XTSM:26/XTS:2 14

XTSM:28/XTS:0 15

XTSM:28/XTS:1 15

XTSM:28/XTS:2 15

XTSM:29/XTS:0 13

XTSM:29/XTS:1 13

XTSM:29/XTS:2 13

XTSM:30/XTS:0 14

XTSM:30/XTS:1 14

XTSM:31/XTS:0 14

XTSM:31/XTS:1 13

XTSM:31/XTS:2 13

XTSM:32/XTS:0 13

XTSM:32/XTS:1 14

XTSM:32/XTS:2 13

XTSM:33/XTS:0 14

XTSM:33/XTS:1 14

XTSM:33/XTS:2 14

XTSM:34/XTS:0 14

XTSM:34/XTS:1 14

XTSM:34/XTS:2 14

XTSM:35/XTS:0 29

XTSM:35/XTS:1 29

XTSM:35/XTS:2 29

XTSM:36/XTS:0 29

XTSM:36/XTS:1 21

XTSM:36/XTS:2 21

XTSM:37/XTS:0 14

XTSM:37/XTS:1 14

XTSM:37/XTS:2 14

XTSM:38/XTS:0 14

XTSM:38/XTS:1 14

XTSM:38/XTS:2 14

XTSM:39/XTS:0 21

XTSM:39/XTS:1 21

XTSM:39/XTS:2 21

XTSM:40/XTS:0 29

XTSM:40/XTS:1 29

XTSM:40/XTS:2 7

XTSM:41/XTS:0 29

XTSM:41/XTS:1 29

XTSM:41/XTS:2 29

java 如何计算数据库_java – 如何在我的数据库中计算这些变量?相关推荐

  1. java保存时间到数据库_java new date 保存到数据库时间不对

    Ibatis框架之系统架构 如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. 1 Class.forName("oracle.jdbc.driver.Or ...

  2. java catch 抛出异常_java - 在catch和最后claus中抛出异常

    java - 在catch和最后claus中抛出异常 关于大学的Java问题,有这段代码: class MyExc1 extends Exception {} class MyExc2 extends ...

  3. java 轻量级文件数据库_Java:如何创建轻量级数据库微服务

    java 轻量级文件数据库 基于云的Java数据库应用程序的数量每分钟都在增加. 许多组织部署了数百甚至数千个微服务实例. 但是,相对于运行时环境,大多数应用程序会带来惊人的不必要开销. 反过来,这会 ...

  4. java spring 多数据库_java – 使用多个数据源/数据库的Spring-Hibernate

    我正在开发一个使用Spring MVC 3和Hibernate的Web应用程序 我想为我的Web应用程序使用2个数据源MySql和Oracle数据库, 我已经阅读了很多关于"spring-h ...

  5. java制作图形界面数据库_java图形界面以及链接数据库

    import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class No ...

  6. java 如何计算时间段_Java程序来计算两个时间段之间的时差

    Java程序来计算两个时间段之间的时差 在此程序中,您将学习计算Java中两个时间段之间的时差. 示例:计算两个时间段之间的时差 public class Time { int seconds; in ...

  7. java纯真ip数据库_java实现对纯真IP数据库的查询

    1.IP记录实体类 package com.guess.tools; /** * * 一条IP范围记录,不仅包括国家和区域,也包括起始IP和结束IP * * * @author swallow */ ...

  8. java图片保存到数据库_java中将图片保存到数据库中

    在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...

  9. java显示位图_java – 大图标位图在通知中显示为白色方块?

    我有这个问题,我从我在通知中使用的URL生成位图.然而,在我的手机上,Bitmap显示为一个小白色的方块.我看着它,发现很多帖子像这样说: Icon not displaying in notific ...

最新文章

  1. 使用crontab自动化调度jupyter notebook定时运行
  2. 数据蒋堂 | 大数据集群该不该透明化?
  3. InnoDB与MyISAM引擎区别
  4. [转载] - QWidget、QMainWindow、QDialog和QFrame的区别
  5. MySQL数据类型与操作
  6. Mysql-高可用集群[MyCat中间件使用](三)
  7. minimum在java中的意思_Java Calendar getMinimum()用法及代码示例
  8. 沐雪微信平台---企业微信营销专家
  9. MAC VSCode Go代码第一次运行配置
  10. 戴尔t440服务器性能,戴尔_PowerEdge T440_塔式服务器_网络存储服务器_服务器 | Dell 中国大陆...
  11. winform通过restsharp调用api接口登录及其它接口
  12. 【车间调度】基于matlab遗传算法求解置换流水车间调度问题【含Matalb源码 176期】
  13. 科技解读:com域名价格为什么连年上涨?小微企业怎样应对?
  14. Android Studio中新建assets文件的两种方法
  15. python英文单词排序-作业
  16. 解决问题:UnicodeDecodeError utf-8 codec cant decode byte 0xb5 in position 116:
  17. WPA3功能开发及验证
  18. 2018 ACM-ICPC, Syrian Collegiate Programming Contest
  19. Excel应用{数据加工与公式函数}
  20. 解读CNAS更换徽标和认可标识

热门文章

  1. 大数据安全“脆弱性”凸显 防护成重要课题
  2. C语言SQLite3基本操作Demo
  3. DBA_Oracle基本体系内存和进程结构(概念)
  4. JHStatusTextView
  5. Android BaseAdapter 例子
  6. jenkins部署net core初探
  7. 单例模式及getInstance()的用法
  8. 职场5年经验的工程师论述linux真没那么难
  9. xadmin后台页面定制和添加服务器监控组件
  10. 荔枝FM 字体文件 IconFontTextView