Я действительно не понимаю, что делает этот кусок кода. Я в основном хочу знать, что такое процессы isr.read(inputBuffer)
и что делает цикл while
. Может ли кто-нибудь объяснить это мне? Благодарю.inputstreamreader.read и string.copyvalueof
InputStreamReader isr = new InputStreamReader(is);
int charRead;
char[] inputBuffer = new char[BUFFER_SIZE];
try {
while((charRead = isr.read(inputBuffer)) > 0) {
String readString = String.copyValueOf(inputBuffer, 0, charRead);
XMLContents += readString;
inputBuffer = new char[BUFFER_SIZE];
}
return XMLContents;
} catch(IOException e) {
e.printStackTrace();
return null;
}
Метод 'read()', который используется здесь, считывает байты и сохраняет в нем символы в данном массиве. Метод возвращает «Количество прочитанных символов или -1, если конец потока достигнут» (quote vom javadoc). Таким образом, цикл продолжается до тех пор, пока еще что-то читается. – Ria