一、功能描述:
将文件转成二进制数据放入数据库中,需要的时候,便可以取出安装与使用。
二、数据库:
建立一个数据库字段存放转成二进制的图片,这个字段有一个要求就是要设置成blob类型的
CREATE TABLE `save_image` (
`id` int(50) NOT NULL AUTO_INCREMENT,
`images` blob,
PRIMARY KEY (`id`)
)
三、转换文件成为二进制数据并保存的Java代码:
public void save() throws SQLException
{
connection=connectionManager.getconn();//连接数据库的操作,这里自己连接自己的数据库
try {
File file=new File("D:\\1.jpg");//要转换的文件
FileInputStream inputStream=new FileInputStream(file);
String sql="insert into save_image(images) values(?)";//存入数据库的SQL语句在执行的时候一定要用prepareStatement
statement=connection.prepareStatement(sql);
statement.setBinaryStream(1, inputStream,(int)file.length());
statement.executeUpdate();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
四、取出数据并还原文件到本地的java代码:
//读取数据库二进制文件
public void readerJpg() throws SQLException
{
connection=connectionManager.getconn();//自己连接自己的数据库!!!!!!!!
String sqlString="select images from save_image where id=4";//从数据库中读出要还原文件的二进制码,这里我读的是自己的数据库id为4的文件
File file=new File("E:\\1.jpg");//本地生成的文件
if(!file.exists())
{
try {
file.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
try {
byte[] Buffer = new byte[4096*5];
statement=connection.prepareStatement(sqlString);
resultSet = statement.executeQuery();
if(resultSet.next())
{
FileOutputStream outputStream = new FileOutputStream(file);
InputStream iStream = resultSet.getBinaryStream("images");//去字段用getBinaryStream()
int size=0;
while((size=iStream.read(Buffer))!=-1)
{
System.out.println(size);
outputStream.write(Buffer,0,size);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
相关推荐
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
地址:计算机的储存器被划分为储存单元来管理,每个单元包含若干个二进制位,每个 存储单元有唯一的一个编号,这个编号就叫做储存单元的地址; 输入设备:将外部世界的信息传输到主机,将其变成机器能识别的形式。 ...
八进制数150转换成二进制数不是1101100。 Java语言是一种计算机高级语言。 微型计算机就是体积很微小的计算机这是错误的。 TCP/IP协议的含义是传输控制协议和网际协议。 常见的局域网的拓扑构造有五种:星形、环形...
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
而Remoting可以利用TCP/IP,二进制传送提高效率。 31.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行...
//分割成存储单条回帖的数组 String[] answer = null;//每一条回帖数组 Vector<Vector<String>> vvs = new Vector<Vector<String>>();//创建二维集合保存信息 /* * 遍历回帖集合,取出每一条回帖记录,...
BINARY_INTEGER之间做加法效率快而NUMBER要先转换2进制再计算 单纯的计算---->BINARY_INTEGER 考虑和表中其他数据的交互的话一般------->NUMBER 字符型、CHAR VARCHAR VARCHAR2 STRING LONG 一般CHAR VARCHAR2...