Java Скачать mp4 с URL - PullRequest
       8

Java Скачать mp4 с URL

0 голосов
/ 18 сентября 2018

Я пытаюсь загрузить файл mp4 с моего Сервера и сохранить его как файл mp4.Файл создан и имеет размер 25 МБ, но я не могу воспроизвести его с помощью видеопроигрывателя.

Вот мой код:

  HttpURLConnection con = (HttpURLConnection) new URL(serveradress).openConnection();
    con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; "
            + "Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like 
Gecko)"
            + " Chrome/53.0.2785.143 Safari/537.36");
    InputStream is = con.getInputStream();


    System.out.println(con.getResponseCode());

    String line = null;
    StringBuilder stringBuilder = new StringBuilder();

    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));

    while((line = bufferedReader.readLine()) != null) {
        stringBuilder.append(line);
    }

    is.close();

    String outVideo = stringBuilder.toString(); 


    File file = new File("C:\\Benutzer\\Admin\\Desktop\\video.mp4");        
    file.getParentFile().mkdirs();
    FileWriter writer = new FileWriter(file);
    writer.write(outVideo);
    writer.close();

    } catch(Exception ex) {
        ex.printStacktrace();
    }

Любая помощь действительно приветствуется.

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Спасибо большое. А.Берген, с вашим советом, я нашел решение, и теперь оно работает.

        File file = new File("C:\\Benutzer\\Admin\\Desktop\\youtube.mp4");      
        file.getParentFile().mkdirs();

        BufferedInputStream bufferedInputStream = new  BufferedInputStream(new URL(decodedDownloadLink).openStream());
        FileOutputStream fileOutputStream = new FileOutputStream("C:/Benutzer/Admin/Desktop/youtube.mp4");


        int count=0;
        byte[] b = new byte[100];

        while((count = bufferedInputStream.read(b)) != -1) {                
            fileOutputStream.write(b, 0,count);
        }
0 голосов
/ 18 сентября 2018

Я предполагаю, что причина, по которой вы не можете воспроизвести сохраненное видео, заключается в том, что вы сохраняете строку вместо байтовых [] данных видео.

Попробуйте использовать вместо него BufferedInputStream для чтения байтов И используйте FileOutputStream, чтобы сохранить эти байты в файл

Не используйте StringBuilder

...