用Java编写视频文件
我正在设法保存一个视频文件。最初,我将视频文件作为blob数据放入数据库,现在,我尝试将blob数据取回,将其转换为字节,然后将其写入新文件。我已经成功地做到了这一点,但问题是,我无法运行生成的文件。我尝试存储、检索和写入.flv和.mp4文件,但都不起作用:/有人能帮我吗?非常感谢!:) 这是我的代码:)用Java编写视频文件,java,file,video,Java,File,Video,我正在设法保存一个视频文件。最初,我将视频文件作为blob数据放入数据库,现在,我尝试将blob数据取回,将其转换为字节,然后将其写入新文件。我已经成功地做到了这一点,但问题是,我无法运行生成的文件。我尝试存储、检索和写入.flv和.mp4文件,但都不起作用:/有人能帮我吗?非常感谢!:) 这是我的代码:) 在while循环的第一次迭代中,有一个'\0'字节写入fos,它不是来自bis.read()。欢迎使用Stackoverflow。请给我们看看你的代码,否则我们帮不上忙。您可以通过点击标签下
在while循环的第一次迭代中,有一个'\0'字节写入fos,它不是来自bis.read()。欢迎使用Stackoverflow。请给我们看看你的代码,否则我们帮不上忙。您可以通过点击标签下方的“编辑”链接来修改您的问题。另外,你可能想阅读,也许谢谢你的回复。嗯,我一直在研究如何将其保存到文件中,并认为这会非常简单。再说一遍,我已经保存了这些文件,但我无法让它们在我的媒体播放器上运行。只是觉得我必须做些别的事情才能让文件正常工作?非常感谢:)别管blyte变量了,我以前用过它,但现在不用了,而且还没有删除:)谢谢!我根本没注意到!非常感谢!:)
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(connectionURL, "root","password");
Statement st1 = (Statement) con.createStatement();
PreparedStatement pstmt = null;
ResultSet rs = null;
pstmt = con.prepareStatement("SELECT video_file from video where video_id = " + video_id);
rs = pstmt.executeQuery();
Blob blob = null;
byte[] blyte = null;
if(rs.next()) {
blob = rs.getBlob("video_file");
InputStream is = blob.getBinaryStream();
FileOutputStream fos = new FileOutputStream("C:\\Downloads\\file2.mp4");
int b = 0;
while(b != -1){
fos.write(b);
b = bis.read();
}
}
//exceptions beyond this point
} catch (InstantiationException e) {
} catch (IllegalAccessException e) {
} catch (ClassNotFoundException e) {
} catch (SQLException e) {
} catch (FileNotFoundException e) {
} catch (IOException e) {
}