输入流的读取 我使用readLine()这个方法读取输入的数据返回类型是String型,可是现在我想做一个循环来进行字符串的连接,要用Stringbuffer来连接获取的那个string,怎么办呢,有没有办法从string型转到Stringbuffer型,或是输入流的读取为Stringbuffer型。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 StringBuffer readed = new StringBuffer();while(true) { readed.append(input.readLine());} 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!"); } StringBuffer sb=new StringBuffer();sb.append();sb.append();sb.append();……sb.toString();就好了 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);这个地方会报错 buffer.append(text +"\n"); 这样编码也能写得出手.既然知道了要用StringBuffer来append,又用字符串相加.真是服了 到了把StringBufferReader和StringBuffer弄混的分上,你还是好好看看书吧 反正你text是一个String 让他和\n相加也可以啊 至于你说的效率的话 我觉得这样写看着省事也好理解 至于你说我把这个弄混了 我想你没看我的代码吧 我那是读文件的代码 我没弄混哦BufferedReader input = new BufferedReader (new FileReader(file)); 我那是说你吗?你的代码中哪有StringBufferReader?是楼主.别人让他用StringBuffer,他找出一个StringBufferReader来用.下次直接告诉他用StringBuilder.如果不是被多线程访问,直接用StringBuilder放弃StringBuffer 注意红色部分,你把 StrBuf注释掉了,你下面直接来strBuf.append(),肯定是抛nullPointException了当然,你不注释肯定编译不过,改成下面就好了strBuf = new StringBuffer()//注意区分 StringBuffer 和StringBufferReader StringBuffer strBuf = null; 没初始化,哎~估计是nullPointException吧strBuf = new StringBuffer();另外,不知道你的StringBufferReader是什么 我知道错在哪里了。还有想问一下,如果读取输入流是String型,我想截取这个String的前两位做整数相加,用什么,用substring可以吗,截取之后是不是用Integer.parseInt转换类型。 一个笔试题 求java正则表达式:取值范围 >=0 并且 <=1的小数 mark 老紫竹的马甲是怎么弄得? 关于四舍五入问题 对swing比较熟,而且对这方面工作比较感兴趣的大虾请进 知道MD5算法的请进 java中怎样向文件中写入汉字 在JBUILDER6中开发出的JAVA APPLET为何在IE中无法显示,为什么只有灰色前景?请各位帮助! SSL异常 IE 加载java applet 失败,为什么 关于java中不需要class文件生成object如何实现
StringBuffer readed = new StringBuffer();
while(true) {
readed.append(input.readLine());
}
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!"); }
sb.append();
sb.append();
sb.append();
……
sb.toString();
就好了
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);这个地方会报错
至于你说的效率的话 我觉得这样写看着省事也好理解
别人让他用StringBuffer,他找出一个StringBufferReader来用.下次直接告诉他用StringBuilder.
如果不是被多线程访问,直接用StringBuilder放弃StringBuffer
当然,你不注释肯定编译不过,改成下面就好了
strBuf = new StringBuffer()//注意区分 StringBuffer 和StringBufferReader
StringBuffer strBuf = null; 没初始化,哎~估计是nullPointException吧strBuf = new StringBuffer();
另外,不知道你的StringBufferReader是什么