首先使用StringTokenizer将上述文本分离出来,然后跳过前面5个分隔就可以取出后面的内容;假如当前读取日期内容:可以先读出Strint str="#Date: 2002-04-24 00:06:10"
,然后使用String类的indexOf(str,startindex)方法取出日期的字符串数据:
str=str.substring((str.indexOf(":",0)+1));
第二个问题也是使用indexOf()方法.

解决方案 »

  1.   

    String s="aa,bb";
    int port=s.indexOf(",");
    String first,behind;
    first=s.substring(0,port);
    behind=s.substring(port+1);
      

  2.   

    我觉得你的还是用BufferedReader比较好,如果你的文本内容本来就是一个流的话。BufferedReader可以读一行,你的内容也正好一行为一个逻辑单元。
      

  3.   

    流读入文本,封装inputStream为Reader,采用readLine方法一行一行读取
    判断第一个字符是否为#,是则不处理
    非则取日期时间和ip
    取日期时间和ip的方法可以采用正则表达式
    正则表达式API下载和使用参考:
    http://www-900.ibm.com/developerWorks/java/l-regp/part1/index.shtml
    匹配日期:
    String expressDate = "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})";
    匹配时间
    String expressTime = "([0-9]{4}):([0-9]{1,2}):([0-9]{1,2})";
    匹配IP
    String expressIP = "([0-9]{1,2,3}).([0-9]{1,2,3}).([0-9]{1,2,3}).([0-9]{1,2,3})";
    如果你使用的是jdk1.4,不用下载ORO或者RE等表达式API了
    你采用jdk1.4的表达式API就可以
    使用很简单