2012-03-18 3 views
0

Я пытаюсь загрузить файлы с помощью java. Он отлично работает с прямой ссылкой, но когда это ссылка с rapidshare или что-то еще, использующее динамические ссылки, это не работает.Как загрузить файл за динамической ссылкой?

Вот мой текущий метод:

URL url = new URL(link); 
ReadableByteChannel rbc = Channels.newChannel(url.openStream()); 
File f =new File(Const.downloaded+filename); 
if(!f.exists()) f.createNewFile(); 

FileOutputStream fos = new FileOutputStream(Const.downloaded+filename); 
fos.getChannel().transferFrom(rbc, 0, 1 << 24); 
return 0; 

На самом деле он загружает веб-страницы с перенаправлением.

Как загрузить файл напрямую, если это прямая ссылка? Благодарю.

+0

Более подробную информацию, пожалуйста. Вы должны показать, что происходит, какая ошибка вы получаете, трассировать трассировку и т. Д. Пожалуйста, прочитайте [faq] и [ask] –

+0

Фактически он загружает веб-страницу с перенаправлением. – Gp2mv3

+0

Выглядит больше похоже на загрузку ко мне. Вы уверены, что не хотите FileInputStream? Возможно, вам нужно больше объяснить, что вы пытаетесь сделать. –

ответ

0

Пожалуйста, попробуйте использовать

URL url = new URL(link); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
ReadableByteChannel rbc = Channels.newChannel(conn.getInputStream()); 
Смежные вопросы