`
starbhhc
  • 浏览: 632764 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

java实现文件转换成二进制存储与取出

阅读更多

一、功能描述:

将文件转成二进制数据放入数据库中,需要的时候,便可以取出安装与使用。

 

二、数据库:

建立一个数据库字段存放转成二进制的图片,这个字段有一个要求就是要设置成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源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java源码包4

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包3

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包2

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    大一大学计算机基础课程知识点.doc

    地址:计算机的储存器被划分为储存单元来管理,每个单元包含若干个二进制位,每个 存储单元有唯一的一个编号,这个编号就叫做储存单元的地址; 输入设备:将外部世界的信息传输到主机,将其变成机器能识别的形式。 ...

    计算机基础综合应用复习题.doc

    八进制数150转换成二进制数不是1101100。 Java语言是一种计算机高级语言。 微型计算机就是体积很微小的计算机这是错误的。 TCP/IP协议的含义是传输控制协议和网际协议。 常见的局域网的拓扑构造有五种:星形、环形...

    ssh(structs,spring,hibernate)框架中的上传下载

     以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。  工程...

    net学习笔记及其他代码应用

    而Remoting可以利用TCP/IP,二进制传送提高效率。 31.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行...

    达内客户端+聊天室源码

    //分割成存储单条回帖的数组 String[] answer = null;//每一条回帖数组 Vector<Vector<String>> vvs = new Vector<Vector<String>>();//创建二维集合保存信息 /* * 遍历回帖集合,取出每一条回帖记录,...

    PL/SQL 基础.doc

    BINARY_INTEGER之间做加法效率快而NUMBER要先转换2进制再计算 单纯的计算---->BINARY_INTEGER 考虑和表中其他数据的交互的话一般------->NUMBER 字符型、CHAR VARCHAR VARCHAR2 STRING LONG 一般CHAR VARCHAR2...

Global site tag (gtag.js) - Google Analytics