public   static   void   main(String[]   args)   throws   IOException   {   
        String   source   =   "c:/Hello.txt";   
        StringReader   sr   =   new   StringReader(source);   
        StringTokenizer   st   =   new StringTokenizer(new BufferedReader(sr));  
        List list= new ArrayList(); 
        String s;
          while (st.hasMoreElements())
          {
                  s=st.nextToken();          
                  list.add(s);  
          } 
           
          for   (int   i   =   0;   i   <   list.size();   i++)   
                  System.out.println(list.get(i));   
         }   
程序编译的时候画横线的那行会出错,不知道怎么怎么让sr转换成st对象?

解决方案 »

  1.   

    public static void main(String[] args) throws Exception{
    String  source  =  "c:/Hello.txt";  
            BufferedReader  sr  =  new  BufferedReader(new FileReader(source));  
            StringBuffer str=new StringBuffer();
            String curLine=null;
            while((curLine=sr.readLine())!=null){
             str.append(curLine+"\n");
            }
            StringTokenizer  st  =  new StringTokenizer(str.toString());  
            List list= new ArrayList(); 
            String s; 
              while (st.hasMoreElements()) 
              { 
                      s=st.nextToken();          
                      list.add(s);  
              } 
              
              for  (int  i  =  0;  i  <  list.size();  i++)  
                      System.out.println(list.get(i));  
            }  
      

  2.   

    StringTokenizer  st  =  new StringTokenizer(new BufferedReader(sr));
    //new BufferedReader(sr)返回的是BufferedReader实例
    //而StringTokenizer的参数需要的是一个String,所以就错了public  static  void  main(String[]  args)  throws  Exception  {  
            String  source  =  "c:/Hello.txt";  
            //StringReader  sr  =  new  StringReader(source);  
            BufferedReader bf = new BufferedReader(new FileReader(source));
            for (String buf=br.readLine(); buf!=nill; buf=br.readLine()) {
                StringTokenizer  st  =  new StringTokenizer(buf);  //
                List list= new ArrayList(); 
                String s; 
                while (st.hasMoreElements()) { 
                      s=st.nextToken();          
                      list.add(s);  
                } 
              
                for  (int  i  =  0;  i  <  list.size();  i++)  
                  System.out.println(list.get(i));  
                }  
            }
      

  3.   

    StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。