2013-05-29 3 views
0

Мне нужно скачать файл по частям. Для этого я использую «xxx.setRequestProperty()». Но я получаю сообщение о том, что он не может быть использован при создании соединения. Поэтому я хочу закрыть соединение, которое уже было установлено с помощью URL загрузки.Как закрыть установленное сетевое соединение?

try { 

     URL url = new URL(aurl[0]); 
     URLConnection connection = url.openConnection(); 

     InputStream input = new BufferedInputStream(url.openStream()); 
     Log.d(TAG,"connected"); 
     int length = connection.getContentLength(); 

Теперь я хочу закрыть «соединение». Пожалуйста, предложите несколько способов сделать это.

ответ

2

Вы хотите добавить finally блок после try заявления здесь и звоните

input.close(); 
connection.disconnect(); 

в нем. Вы хотите вызвать их в блоке finally, чтобы гарантировать, что они будут вызваны независимо от того, завершился ли предыдущий код.

+0

Спасибо, это работает. Ты спас много времени. – tet

+0

@tet С тех пор, как вы здесь новые, голова - если мой ответ (или кто-то еще) был вам полезен, подумайте о его принятии (нажав галочку рядом с ним). Это даст вам +2 очков репутации и увеличит вероятность того, что люди помогут вам в будущем :) – drewmoore

2

Пример:

InputStream is = null; 
try { 

// Your code here 

} finally { 
    if (is != null) { 
    try { 
     is.close(); 
    } catch (IOException x) { 
     Log.e(TAG, "Excpetion", x); 
    } 
    } 
} 

Таким образом, вы всегда будете рядом InputStream. javadoc для Android: UrlConnection.

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