1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.EncoderException; import it.sauronsoftware.jave.MultimediaInfo;
public static InputStream getIsFromUrl(String urlPath) { HttpURLConnection conn = null; try { String urlStr = URLDecoder.decode(urlPath, "UTF-8"); URL url = new URL(urlStr); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(3000); return conn.getInputStream(); } catch (IOException ioe) { logger.error("[Method-getIsFromUrl]exception:{}", ioe.getMessage()); }finally{ if (conn != null) { conn.disconnect(); } } return null; }
public static void inputStreamToFile(InputStream ins, File file) { OutputStream os = null; try { os = new FileOutputStream(file); int bytesRead = 0; int a = 8192; byte[] buffer = new byte[a]; while ((bytesRead = ins.read(buffer, 0, a)) != -1) { os.write(buffer, 0, bytesRead); } } catch (IOException ioe) { logger.error("[Method-inputStreamToFile]exception:{}", ioe.getMessage()); } finally { try { if (null != os) { os.close(); } } catch (IOException ioe) { logger.error("[Method-inputStreamToFile]close-exception:{}", ioe.getMessage()); } } }
public static File getFileFromUrl(String url, String tempPath) throws UnknownHostException, IOException { File file = new File(tempPath); File tmpFile = File.createTempFile("temp", ".tmp", file); tmpFile.deleteOnExit(); logger.info("[getFileFromUrl]create file from url:{},path:{}", url, file.getAbsolutePath()); InputStream is = getIsFromUrl(url); if (null != is) { inputStreamToFile(is, tmpFile); } return tmpFile; }
public static Long getDuration(File file) throws EncoderException { MultimediaInfo m = new Encoder().getInfo(file); return m.getDuration() / 1000; }
|