Java从url下载mp4
我尝试从服务器下载mp4文件并将其另存为mp4文件。创建了一个大小为25MB的文件,但我不能用视频播放器播放它 这是我的密码:Java从url下载mp4,java,url,networking,mp4,Java,Url,Networking,Mp4,我尝试从服务器下载mp4文件并将其另存为mp4文件。创建了一个大小为25MB的文件,但我不能用视频播放器播放它 这是我的密码: HttpURLConnection con = (HttpURLConnection) new URL(serveradress).openConnection(); con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; " + "Intel Mac OS X 10
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();
}
非常感谢您的帮助。我猜您无法播放已保存的视频的原因是您保存的是字符串,而不是视频的字节[]数据 尝试使用BufferedInputStream来读取字节 并使用FileOutputStream将这些字节保存到文件中
不要使用StringBuilder我猜您无法播放已保存视频的原因是您保存的是一个字符串,而不是视频的字节[]数据 尝试使用BufferedInputStream来读取字节 并使用FileOutputStream将这些字节保存到文件中
不要使用StringBuilder非常感谢@a.Bergen您的建议我找到了一个解决方案,现在它可以工作了
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);
}
非常感谢@a.Bergen和你的建议我找到了一个解决方案,现在它可以工作了
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);
}
可能的重复可能的重复