每个人都有一个让我很烦恼的问题。我想从函数中获取StringBuffer
,如下所示:
public static StringBuffer getString() throws IOException
{
StringBuffer sb=new StringBuffer(" ");
File file=new File("d:\\c.txt");
BufferedReader br= new BufferedReader(new FileReader(file));
String s;
do
{
s=br.readLine();
if(s!=null){
sb.append(s);
}
}while(s!=null);
System.out.println(sb.length());
return sb;
}
但是在main()
函数中,我想调用该函数,代码如下:
public static void main(String[] args) throws Exception
{
StringBuffer sBuffer=getString();
System.out.println(sBuffer);
}
它可以打印长度但不能打印StringBuffer
本身,它会让我感到很烦恼,任何人都可以帮忙吗?
答案 0 :(得分:0)
请尝试以下操作,并确保关闭" br":
public static void main(String[] args) throws Exception {
StringBuffer sBuffer=getString();
System.out.println(sBuffer);
}
public static StringBuffer getString() throws IOException {
StringBuffer sb = new StringBuffer();
File file = new File("d:\\c.txt");
FileInputStream fis = new FileInputStream(file);
byte[] letter = new byte[1];
String str = "";
while (fis.read(letter) > 0) {
str = new String(letter);
sb.append(str);
}
System.out.println(sb.length());
return sb;
}
答案 1 :(得分:0)
您的代码正常运行,没有任何问题。检查d:\ c.txt是否存在。如果存在,请检查内容。可以删除所有内容并输入新内容,然后重试。
答案 2 :(得分:0)
你的代码还可以,它正常运行。当我试图在eclipse中运行它时,我做了两次修改。
1)文件文件=新文件(“d:\ c.txt”); ------->文件文件=新文件(“c:\ chinmay \ c.txt”);
2)使用try和catch
调用函数时必须处理异常try{
Buffer = getString();} catch(IOException e){e.printStackTrace(); }
它正在工作..我附加了代码和输出
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class TestMain {
public static void main(String[] args)
{
// TODO Auto-generated method stub
StringBuffer sBuffer=null;
try {
sBuffer = getString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sBuffer);
}
public static StringBuffer getString() throws IOException
{
StringBuffer sb=new StringBuffer(" ");
File file=new File("c:\\chinmay\\c.txt");
BufferedReader br= new BufferedReader(new FileReader(file));
String s;
do
{
s=br.readLine();
if(s!=null){
sb.append(s);
}
}while(s!=null);
System.out.println(sb.length());
return sb;
}
}
文件c:\ chinmay \ c.txt包含在线Java培训
我跑的时候得到的输出是
<强> 21 在线Java培训
希望它有所帮助!