Прежде всего, помните, что InputStreamReader
не так эффективен, вы должны обернуть его вокруг объекта BufferedReader
для максимальной производительности.
Принимая это во внимание, вы можете сделать что-то вроде этого:
public String readLines(InputStreamReader in)
{
BufferedReader br = new BufferedReader(in);
// you should estimate buffer size
StringBuffer sb = new StringBuffer(5000);
try
{
int linesPerRead = 100;
for (int i = 0; i < linesPerRead; ++i)
{
sb.append(br.readLine());
// placing newlines back because readLine() removes them
sb.append('\n');
}
}
catch (Exception e)
{
e.printStackTrace();
}
return sb.toString();
}
Имейте в виду, что readLine()
возвращает null
при достижении EOF
, поэтому вам следует проверить и позаботиться об этом.