比如我文本文件里面有这么些数据 
  
  a;b;c;d;e;f;g;h;j;k;l;m 
  arrayList array=new array(); 
  遇到一个分号,array就add一次 
  这是我的代码 
        String line;   
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        line = reader.readLine();              
         int i=0;
        while (line.indexOf(";")>0) {          //   这一行有毛病,因为只读取第一行          
                 array.add(i, line);                //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
            line = reader.readLine();             
              i++;
        }内容如上请高手指点。

解决方案 »

  1.   

    arrayList array=new array(); 
    new array()?
    没有这个写法
    要吗就写List<String> array = new ArrayList<String>();
    要吗就写arrayList array = new String[]{};
    两个错误地方都是由这个引起的
      

  2.   


        public void readToBuffer(ArrayList array, InputStream is)
            throws IOException {
        
             String line;   
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            line = reader.readLine();              
             int i=0;
            while (line.indexOf(";")>0) {          //   这一行有毛病,因为只读取第一行          
                     array.add(i, line);                //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
                line = reader.readLine();             
                  i++;
              }
           
        }
    不是那个问题,仔细看一下,比如我有两行数据, 再看看它的循环条件,当找不到分号就停止了,就不能进行第二行的读取吧,      
     还有在保存的时候,遇到一个分号我要把分号前面的字符串保存进去, 而我把整行都保存了进去,我不知道怎么操作,
    所以我说那两行有问题,本身代码是没问题的
      

  3.   


    char[]  c=String.split(";");
    我提供一个思路
      

  4.   

    List<String> array=new ArrayList<String>();
    String line;   
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        line = reader.readLine(); 
        while(line!=null){
         if(line.indexOf(";")>0) {          //   这一行有毛病,因为只读取第一行          
         String[]temp=line.split(";"); //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
                for(int i=0;i<temp.length;i++){
                 array.add(temp[i]);
                }
         }else{
         array.add(line);
         }
         line = reader.readLine();
        }
      

  5.   

       这样加在容器里的只是单个字符代表的字符串,你可以在加入前把字符串强制转换成char