Есть ли способ разместить BufferedReader в String одним выстрелом, а не по строкам? Вот то, что я до сих пор:Как вы помещаете содержимое BufferedReader в строку?
BufferedReader reader = null;
try
{
reader = read(filepath);
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
String line = null;
String feed = null;
try
{
line = reader.readLine();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
while (line != null)
{
//System.out.println(line);
try
{
line = reader.readLine();
feed += line;
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(feed);
Я не буду знать, какой размер вообще, это может быть любой размер действительно .. спасибо за ответ в любом случае .. – BigBug
Это на самом деле лучшее решение без использования других библиотек. Из API: «Если« first read »в базовом потоке возвращает -1, чтобы указать конец файла, этот метод« возвращает -1 ». В противном случае этот метод возвращает количество фактически прочитанных символов». Вот как вы его используете: http://pastebin.com/RvGwKLuC – bezmax
Чтобы немного объяснить: BufferedReader обертывает вокруг другого читателя. Когда вы вызываете 'read (char [], int, int)' он заполняет свой буфер последовательными вызовами 'read(): int' базового читателя. Когда внутренний буфер заполнен - он получает часть его и вставляет в данный массив. Таким образом, API говорит, что если FIRST из этих базовых вызовов чтения возвращает '-1', то этот метод также возвращает' -1', поскольку он является концом потока. В противном случае (например, если 1 вызов чтения преуспел, а второй - '-1') - он все равно вернет число символов, которые были прочитаны. – bezmax