日期:2014-05-20  浏览次数:20792 次

公司面试题,请大家看哈兹,应该怎么做,说个思路也行
Java   Test
-   Write   a   program   that   can   parse   a   Windows   .ini   format   file   and   store   the   contents   in   memory   (in   some   datatype/class   of   your   choice)
-   Also   provide   some   convenience   api   that   allows   a   developer   to   retrieve   information   from   the   parsed   representation  
e.g.   getIniKeys()
          getIniVals()
          getIniVal(String   aKey,   aGroupName)
          getGroup(String   aGroupName  
-   Provide   an   interactive   way   to   query   different   attributes,   e.g,   myname,   main.theIP,   Complex_Context.myname

Sample   Ini   File  
===============
myname   =   props

[main]
theIP   =   192.184.12.1
DNS   =   34.2.4.5
DNS   =   15.19.27.84

#   defines   a   group
[myhome]
IP   =   192.184.12.2
IP   =   192.168.12.50

[complex   context]
MyName   =   hallo

Some   Rules   To   keep   in   Mind
==========================
a.   Ini   File   consists   of   a   set   of   attribute   value   pairs     that   are   grouped   into   sections/groups  
b.   Groups   are   enclosed   within   "[] "
c.   Strip   off   any   whitespaces   encountered   between   keys   or   values  
d.   comments   begin   with   "# "
e.   there   could   be   blank   lines   in   the   file  
f.   there   could   be   white   space   in   the   group   name   (which   should   be   preserved)  
g.   A   key   could   have   multiple   values   (e.g.   IP   in   the   above   sample   has   two   possible   values)   which   should   be   preserved  


What   are   we   testing  
====================
-   The   programmer 's   ability   to   write   good   clean,   readable   code   that   solves   the   above   problem.  
-   We   are   NOT   looking   for   efficiency,   speed,   algorithmic   abilities   in   solving   this   problem  


------解决方案--------------------
Map看起来不错,呵呵
------解决方案--------------------
傻傻的一个办法 @_@

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test2 {

  public static void main(String[] args) {
    
    INI ini = new INI( "test.ini ");
    
    List <String> keys = ini.getIniKeys();
    ini.print(keys);
    System.out.println();
    
    List <String> values = ini.getIniValues();