现在有个文件,里面的内容是每隔一定数量的字符就会出现":  "(不包扩双引号,冒号后面有2个空格)。
我想写一个方法,以":  "为分隔,一但读到这个":  "
就把“:  "之前的内容加入到list中
int len;
while(len!=-1){
      List<String> list=new ArrayList()<String>;
      while(condition){
      }
      list.add();
}
我想在condition里写  !str.equals(":  ") 请问这里的str怎么读出来?
I/O包里没找到能连续的读3个字符的方法
谢谢。

解决方案 »

  1.   

    在":  "和":  "之间也会有":"存在,所以只能一次读3个
    while((len=fr.read())==':'&&(len=fr.read())==' '&&(len=fr.read())==' '){
    }
    这样写如果不满足条件的话就会多字符读了
      

  2.   

    .......JDK中有专门提供一个字符串分隔的类java.util.StringTokenizer
    按你的要求:
       StringTokenizer st = new StringTokenizer("你要分割的字符串","分割符");
       然后跌代就好了
       while(st.hasMoreTokens()) {
           String token = st.nextToken();
           list.add(token);
       } 
    完了,大概就是这么个样子,你自己看看API再试试