社区
Java EE
帖子详情
百分求解~!!十万火急
weizhihui
2004-03-30 10:14:25
背景:
我是即将毕业的学生,现在有一个老板,他说让我解决一个问题就要我,时间很短,我查了几天的资料。没有查到, 先求助于各位, 现行谢过了
问题:
怎样把一个图片用java类读取到数据库?
...全文
33
8
打赏
收藏
百分求解~!!十万火急
背景: 我是即将毕业的学生,现在有一个老板,他说让我解决一个问题就要我,时间很短,我查了几天的资料。没有查到, 先求助于各位, 现行谢过了 问题: 怎样把一个图片用java类读取到数据库?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weizhihui
2004-04-06
打赏
举报
回复
谢谢华哥
boy
2004-03-30
打赏
举报
回复
我可以给你一个反过来的,要不要?
luojx
2004-03-30
打赏
举报
回复
先连接数据库,
用io包将文件读成文件流,
将文件流存进数据库(我以前用的是SQL SERVER)就行了,以前就这么做的
boy
2004-03-30
打赏
举报
回复
odbc.ini的内容
jdbc:odbc:testOle
test
test
boy
2004-03-30
打赏
举报
回复
import java.io.*;
import java.sql.*;
public class GetTif
{
String Url="jdbc:odbc:Test",JdbcUser="system",JdbcPwd="manager";
public static BufferedReader getBufferedReader(String fName)
{
try{
FileReader fR=new FileReader(fName);
if(fR==null)return null;
return new BufferedReader(fR);
}catch(Exception ex)
{ex.printStackTrace();return null;}
}
//存储过度文件
private void saveFile(String DocID,InputStream inole)
{
try{
byte[] OleByte = getOle(inole);
FileOutputStream f = new FileOutputStream("d:\\documents\\GetOLE\\"+DocID+".Tif");
f.write(OleByte);
} catch(Exception e) {
e.printStackTrace();
}
}
//读二进制数据
private static byte[] getOle(InputStream s)
{
byte[] buffer = new byte[0];
byte[] chunk = new byte[4096];
int count;
try{
while((count = s.read(chunk))>=0)
{
byte[] t = new byte[buffer.length+count];
System.arraycopy(buffer,0,t,0,buffer.length);
System.arraycopy(chunk,0,t,buffer.length,count);
buffer=t;
}
}catch(Exception e){}
return buffer;
}
//初始化配置信息
public GetTif(BufferedReader brin)
{
if(brin==null)return;
try{
this.Url=brin.readLine().trim();
this.JdbcUser = brin.readLine().trim();
this.JdbcPwd = brin.readLine().trim();
brin.close();
}catch(IOException ex)
{System.err.println("FileIOError:"+ex);}
}
//读数据库
private void readDB()
{
//注册数据库驱动程序
try{
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
}
catch(Exception e)
{System.err.println("注册数据库驱动程序错误:" + e);}
//从数据库读OLE或附件
try{
Connection con = DriverManager.getConnection(Url,JdbcUser,JdbcPwd);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM image_files");
java.math.BigDecimal DocNo; InputStream inTif;
while(rs.next()){
try{
DocNo = rs.getBigDecimal("NO",0);
inTif = rs.getBinaryStream("TIF");
saveFile(DocNo.toString(),inTif);
System.out.println("存储过度Tif文件:"+DocNo.toString());
}
catch(Exception e)
{System.err.println("存储过度文件错误:" + e);}
}
st.close();
con.close();
}
catch(Exception e)
{System.err.println("数据库查询错误:" + e);}
}
public static void main(String args[])
{
GetTif gt = new GetTif(getBufferedReader("d:\\documents\\GetOLE\\class\\odbc.ini"));
gt.readDB();
}
}
weizhihui
2004-03-30
打赏
举报
回复
tx18(华哥)
我可以给你一个反过来的,要不要?
好啊!请你把他写下来好了 谢谢
kewin
2004-03-30
打赏
举报
回复
没用过
fantasyCoder
2004-03-30
打赏
举报
回复
1楼的方法可行!!!
恭喜你找到工作!!!
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA请教怎
MS-SQL Server 基础类 - SQL语句
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx 怎样将后台生成的在内存中的图象显示到客户端 Microsoft IE WebControls下载地址 如何在DATAGRID中使用JAVASCRIPT脚本控制 DataGrid中连接到下一页显示数据 下载中文名
基础类 - SQL语句
基础类 - SQL语句
转载请标明出处: http://blog.csdn.net/hz/archive/2006/03/01/613376.asp 本文来自 CSDN 博客。x
sql server 怎么跨库查询?
如何判断字符的大小写 ?
如何得到动态 SQL 中取得的值 ?
如何定义动态游标 ?
已知:当前时间 ( 截取 yyyy-mm 目标 1 查询进销存表当中距离当前时间连续 3 个月内进货数量 =0...<
电脑史话
1、计算机始祖从1980年8月到1981年8月,在整整一年的时间里,埃斯特奇领导着“国际象棋”工程计划13人小组奋力攻关。“当时很少有人体会到,这一小组人即将改写全世界的历史。”(英特尔华裔副总裁虞有澄语)据说,IBM公司后来围绕PC机的各项开发,投入的力量逐步达到450人,英特尔公司也组成“特殊客户部”为PC机供应高质量的芯片。 根据协定,微软公司应该为PC机提供包括BASIC在内的
Java EE
67,541
社区成员
225,855
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章