我使用readLine()这个方法读取输入的数据返回类型是String型,可是现在我想做一个循环来进行字符串的连接,要用Stringbuffer来连接获取的那个string,怎么办呢,有没有办法从string型转到Stringbuffer型,或是输入流的读取为Stringbuffer型。

解决方案 »

  1.   


    StringBuffer readed = new StringBuffer();
    while(true) {
        readed.append(input.readLine());
    }
      

  2.   

    try{ 
                        BufferedReader input = new BufferedReader (new FileReader(file)); 
                        StringBuffer buffer = new StringBuffer(); 
                        String text; 
                            
                        while((text = input.readLine()) != null) 
                            buffer.append(text +"\n"); 
                            
                        output = buffer.toString();                     
                    } 
                    catch(IOException ioException){ 
                        System.err.println("File Error!");                 } 
      

  3.   

    StringBuffer sb=new StringBuffer();
    sb.append();
    sb.append();
    sb.append();
    ……
    sb.toString();
    就好了
      

  4.   

    String   str;  
    StringBuffer strBuf = null;
            InputStreamReader   stdin   =   new   InputStreamReader(System.in);   
            BufferedReader   bufin   =   new   BufferedReader(stdin);   
            //strBuf =  new StringBufferReader(stdin);
            try   
            {   
            System.out.print("enter the words:");
            str   =   bufin.readLine();          if (str.length()<=3)
            {
             for(int i=0;i<20;i++)
             {
            strBuf.append(str);
            
             }
             strBuf.toString();
                 System.out.print(strBuf);
            }
            else if(str.length()>=4)
            {
             System.out.print("たくさん");
            }  
            }   
            catch(IOException   E)   
            {   
                  System.out.println("erorr"); 
      我是这样做的,可是在运行时 strBuf.append(str);这个地方会报错
      

  5.   

    buffer.append(text +"\n"); 这样编码也能写得出手.既然知道了要用StringBuffer来append,又用字符串相加.真是服了
      

  6.   

    到了把StringBufferReader和StringBuffer弄混的分上,你还是好好看看书吧
      

  7.   

    反正你text是一个String  让他和\n相加也可以啊  
    至于你说的效率的话  我觉得这样写看着省事也好理解 
      

  8.   

    至于你说我把这个弄混了  我想你没看我的代码吧  我那是读文件的代码  我没弄混哦BufferedReader input = new BufferedReader (new FileReader(file)); 
      

  9.   

    我那是说你吗?你的代码中哪有StringBufferReader?是楼主.
    别人让他用StringBuffer,他找出一个StringBufferReader来用.下次直接告诉他用StringBuilder.
    如果不是被多线程访问,直接用StringBuilder放弃StringBuffer
      

  10.   

    注意红色部分,你把 StrBuf注释掉了,你下面直接来strBuf.append(),肯定是抛nullPointException了
    当然,你不注释肯定编译不过,改成下面就好了
    strBuf  = new StringBuffer()//注意区分 StringBuffer 和StringBufferReader
      

  11.   


    StringBuffer strBuf = null; 没初始化,哎~估计是nullPointException吧strBuf = new StringBuffer();
    另外,不知道你的StringBufferReader是什么
      

  12.   

    我知道错在哪里了。还有想问一下,如果读取输入流是String型,我想截取这个String的前两位做整数相加,用什么,用substring可以吗,截取之后是不是用Integer.parseInt转换类型。