| 
														
															@@ -102,26 +102,21 @@ public class VideoDownloader { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             int responseCode = connection.getResponseCode(); 
														 | 
														
														 | 
														
															             int responseCode = connection.getResponseCode(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_PARTIAL) { 
														 | 
														
														 | 
														
															             if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_PARTIAL) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 long expectedSize = connection.getContentLengthLong(); 
														 | 
														
														 | 
														
															                 long expectedSize = connection.getContentLengthLong(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                try (InputStream inputStream = connection.getInputStream(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                     OutputStream outputStream = Files.newOutputStream(file.toPath())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    byte[] buffer = new byte[1024 * 1024]; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    long lastReadTime = System.currentTimeMillis(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    int bytesRead; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    while ((bytesRead = inputStream.read(buffer)) != -1) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        outputStream.write(buffer, 0, bytesRead); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        lastReadTime = System.currentTimeMillis(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        // 检查是否长时间没有读取到新数据 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        if (System.currentTimeMillis() - lastReadTime > READ_TIMEOUT_SECONDS * 1000) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            log.error("No data read for a long time, aborting download."); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            break; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                InputStream inputStream = connection.getInputStream(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                OutputStream outputStream = Files.newOutputStream(file.toPath()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                byte[] buffer = new byte[1024 * 1024]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                int bytesRead; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                log.info("download start path={} expectedSize={}", path, expectedSize); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                long size = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                while ((bytesRead = inputStream.read(buffer)) != -1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    size += bytesRead; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    outputStream.write(buffer, 0, bytesRead); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (file.length() != expectedSize) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                log.info("download end path={}", path); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (file.length() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     return 0; 
														 | 
														
														 | 
														
															                     return 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return responseCode; 
														 | 
														
														 | 
														
															             return responseCode; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } catch (Exception e) { 
														 | 
														
														 | 
														
															         } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             log.error("download error", e); 
														 | 
														
														 | 
														
															             log.error("download error", e); 
														 |