Java io 读取 大的视频文件

悬赏:3 发布时间:2008-08-08 提问人:chen-516888 (初级程序员)

如何读取一个100M 以上的大文件,
初始化byte[] 数组不允许那么大?
该如何解决

问题补充:
我想全部读出来
存入一个数据库中
如果一点一点的读 存的时候怎么解决?
谢谢:)

采纳的答案

2008-08-08 zhai puhong (资深程序员)

楼主一定要用byte[]吗,直接用FileInputStream和FileOutputStream不行吗?
拿存来做个例子:
    ……
    InputStream photoStream = new FileInputStream(new File("c:\\blog.jpg"));
sql = "INSERT INTO testtable  (img) VALUES (?)";
   
    pstmt = conn.prepareStatement(sql);
    pstmt.setBinaryStream(1, photoStream, (int) file.length());
    pstmt.executeUpdate();
    ……


另外“如果一点一点的读 存的时候怎么解决? ”
可以把二进制文件分块存储,比如50M 一块,img 拆分分 img0,img1……,这样就可以利用循环来分别存取了。

提问者对于答案的评价:
Thanks:)

其他回答

字节流不是可以使用缓冲的吗?一点点的装入
qichunren (资深程序员) 2008-08-08