文件处理的问题
把JDBC和oracle的内容学完后回来做这个项目,在老师视频里代码的关键提示下终于完成了,由于我的navicat里只能显示数据库里存储文 件的大小不能像老师那样直接显示内容,于是我在服务端又创建了一个文件,把内容写进去。奇怪的是,如果客户端传的文件是图片,服务端的文件能写成功,可以 看到图片,但如果客户端传的是文本,服务端的文件就写不进去,大小为0. 但是数据库里文件是添加成功了的,所以问题出在我的本地文件写入操作上,试了很多办法,都找不出原因,把这段代码贴一下,就是依样画葫芦,客户端怎么用bis读 进byte数组的,服务端我就怎么用bos把byte数组写进文件,自己实在找不出问题在哪儿,求大神指教
public void addFileRecord(File file){
conn=DBUtil.getConnection();
String path="F:/sample/"+file.getFileName();
FileOutputStream fos=null;
BufferedOutputStream bos=null;
try{
String sql="insert into "+FILETABLE+
" values(sq_file.nextval,?,?,?)";
ps=conn.prepareStatement(sql);
ps.setString(1, file.getFileName());
ps.setBytes(2, file.getFileContent());
ps.setString(3, path);
fos=new FileOutputStream(path);
bos=new BufferedOutputStream(fos);
bos.write(file.getFileContent());
bos.flush();
ps.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.closeJDBC(rs, ps, conn);
}