首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

读文件中重复键值对异常处理?

2014-01-26 
读文件中重复键值对异常处理?import java.io.* import java.util.* class Test {public static void main

读文件中重复键值对异常处理

import java.io.*;
import java.util.*;
class Test
{
  public static void main(String[] args)
  {
  /* //获得系统信息
  Properties pps=System.getProperties() ;
  pps.list(System.out);
  */
  Properties pps=new Properties(); //创建空属性列表
  try
  {
  pps.load(new FileInputStream( "c:\\unhappyless "));
  Enumeration enum=pps.propertyNames();
  String Strkey;
  while(enum.hasMoreElements())
  {
  Strkey=(String)enum.nextElement();
  System.out.println(Strkey+ "= "+pps.getProperty(Strkey));
  }
  }
  catch(Exception e)
  {
  e.printStackTrace();
  }
  }
}

若读到的“键”有重复,要怎么判断?在异常中判断吗?

c:\unhappyless 文件内容:
unhappyless=1
unhappyless=2
unhappyless
unhappyless=

------解决方法--------------------------------------------------------
用HashMap来过滤,

HashMap p=new HashMap();


while(enum.hasMoreElements())
{
  String key=(String)enum.nextElement();
  String value=pps.getProperty(Strkey);
  //
  if(p.containKey(key)==false)
  p.put(key,value);
  else
  {
  //后面的定义覆盖前面的
  p.put(key,value);
  //或者以第一次出现的定义为准
  System.out.println(key+ " has been defined ");
  }
}
------解决方法--------------------------------------------------------
1把key和value用比较特殊的字符连接起来,然后往数组里放的时候现比较,如果和以前的一样就不插入,或者抛出个自定义异常

        

热点排行