Я хочу прочитать содержимое URL по байтам. Я должен прочитать 64 kb из содержимого URL.читать содержимое URL
public void readUrlBytes(String address) {
StringBuilder builder = null;
BufferedInputStream input = null;
byte[] buffer = new byte[1024];
int i = 0;
try {
URL url = new URL(address);
URLConnection urlc = url.openConnection();
input = new BufferedInputStream(urlc.getInputStream());
int bytesRead;
while ((bytesRead = input.read(buffer)) != -1) {
builder.append(bytesRead);
if (i==64) {
break;
}
i++;
}
System.out.println(builder.toString());
} catch (IOException l_exception) {
//handle or throw this
} finally {
if (input != null) {
try {
input.close();
} catch(IOException igored) {}
}
}
}
Вышеупомянутое кодирование предназначено для чтения символов.
Мне нужно прочитать байты.
Что вы спрашиваете? Метод 'java.io.InputStream.read()' читает 'byte' из потока. –
Хорошо, просмотрев новый код, который вы вставили, есть еще несколько проблем. Вы никогда не создаете экземпляр StrinngBuilder, вы получите исключение NullPointerException, когда вы сначала попытаетесь его использовать. Во-вторых, вы не можете вызвать append (byte []) и ожидать чего-нибудь полезного. Вы говорите, что хотите читать в байтах, но кажется, вы пытаетесь получить строку после того, как все будет сказано и сделано. Являются ли эти двоичные или символьные данные, которые вы пытаетесь прочитать? –