2015-08-21 2 views

ответ

5

От Javadoc:

Этот класс был устаревшим в уровне API 22.

Пожалуйста, используйте openConnection() вместо этого. Пожалуйста, посетите этот webpage для получения дополнительной информации.

34

этот ответ может быть немного поздно, но альтернатива заменить ByteArrayBuffer с ByteArrayOutputStream и использовать массив байтов следующим образом:

Пример кода с ByteArraybuffer:

BufferedInputStream bis = new BufferedInputStream(is); 
    ByteArrayBuffer baf = new ByteArrayBuffer(50); 
    while ((current = bis.read()) != -1) { 
       baf.append((byte) current); 
    } 
    FileOutputStream fos = new FileOutputStream(file); 
    fos.write(buffer.toByteArray()); 

Теперь, используя с помощью ByteArrayOutputStream:

 BufferedInputStream bis = new BufferedInputStream(is); 
    ByteArrayOutputStream buffer = new ByteArrayOutputStream(); 
    //We create an array of bytes 
    byte[] data = new byte[50]; 
    int current = 0; 

    while((current = bis.read(data,0,data.length)) != -1){ 
      buffer.write(data,0,current); 
    } 

    FileOutputStream fos = new FileOutputStream(file); 
    fos.write(buffer.toByteArray()); 
    fos.close(); 

Ну, надеюсь, это будет полезно.

+0

очень полезно, спасибо – med116

+0

Отличное решение, спасибо ~ – KaKa

Смежные вопросы