`
starbhhc
  • 浏览: 654077 次
  • 性别: 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();

}

 

 

}

 

 

 

 

 

 

分享到:
评论

相关推荐

    如何将图片转换成二进制存储

    本文将详细介绍如何将图片转换成二进制存储,并如何从数据库中读取出这些二进制数据。 #### 图片存储为二进制的基本原理 在将图片存储为二进制之前,我们首先需要了解什么是二进制存储。简单来说,任何文件都可以...

    上传附件以二进制流的方式到数据库

    综上所述,"上传附件以二进制流的方式到数据库"是一个涉及到多个IT领域技术的实践,包括二进制数据处理、数据库设计与管理、文件上传与下载的实现。通过这种方式,我们可以高效、安全地存储和访问非结构化数据,提高...

    16进制数据转换

    在计算机科学中,十六进制(Hexadecimal)是一种常用的数值表示方法,通常用于表示二进制数据,因为十六进制的每一位可以表示四位二进制数,从而简化了数据的表示和处理。在Java编程中,十六进制数据和字符串之间的...

    图片以二进制存取数据库

    1. **读取图片文件**:使用编程语言(如Java、Python、C#)的内置函数读取图片文件,将其转换为二进制数据流。 2. **连接数据库**:建立与数据库的连接,这通常需要数据库驱动程序(如JDBC、ODBC)和正确的连接参数...

    二进制图片上传到数据库

    在处理图片时,我们可以使用编程语言如Python的PIL(Python Imaging Library)或Java的ImageIO库来读取图片文件,并将其转换为字节数组,即二进制数据。 例如,在Python中,可以使用以下代码读取图片并转化为二进制...

    图片以二进制保存到Oracle,取出并显示到页面示例

    本示例将探讨如何在Oracle数据库中以二进制格式存储图片,并随后从数据库中取出显示在网页上。Oracle数据库提供了BLOB(Binary Large Object)数据类型,专门用于存储大对象,如图像、音频文件或任何其他二进制数据...

    使用二进制存取用户头像

    这可能是用来从数据库中取出用户头像的二进制数据,保存到本地文件系统,或者将本地的图像文件转换为二进制数据并存储到数据库中。 总结,使用二进制存取用户头像是为了优化数据库性能和提升用户体验。它涉及到图像...

    图片转流存库和读取二进制流页面展示

    本文档将详细介绍如何在Java环境下实现图片转换为二进制流存储到数据库中的过程,以及如何从数据库中读取出这些二进制流并将其展示在网页上。主要涉及以下几个方面的内容: 1. **图片转换为二进制流**: 包括通过URL...

    10进制转化为b进制

    本篇文章将详细讲解如何利用栈的数据结构,实现10进制到任意进制(包括但不限于二进制)的转换,并探讨这一过程中的关键知识点。 首先,我们需要理解栈(Stack)这一数据结构。栈是一种后进先出(LIFO,Last In ...

    Huffman编码的java实现

    在这个Java实现中,使用了字节流(ByteStream)进行写入操作,这可以确保数据以二进制形式保存,而不是文本格式。 6. **解压缩**:解压时,我们需要从字节流中读取数据,将其转换为二进制串。然后,根据预先构建的...

    Huffman 压缩解压缩 Java实现

    需要注意的是,Java实现的Huffman压缩解压缩不适用于二进制文件,因为二进制文件的字节分布与ASCII文档不同,直接应用ASCII字符频率统计可能会导致压缩效果不佳。对于二进制文件,通常需要先进行预处理,如使用字节...

    哈夫曼编码实现压缩解压缩java

    - 遍历文本,将每个字符转换为其哈夫曼编码,然后将所有编码连接成一个二进制串,这就是压缩后的数据。 - 为了恢复原始文本,通常会在编码串前添加额外的信息,如编码表或树结构,以便解压时重建哈夫曼树。 5. **...

    java代码-2.任意给出一个十进制整数,将十进制整数转换为二进制数。

    在Java中,有几种方法可以实现十进制到二进制的转换: 1. 使用`Integer.toBinaryString(int)`方法: 这是Java提供的内置函数,可以直接将整数转换为二进制字符串。例如: ```java int decimalNum = 10; String ...

    采用移位等方式将整型ip转换为点分十进制字串.zip

    3. **十进制转换**:将8位二进制转换为十进制,可以使用位运算或者简单的数学计算实现。例如,二进制的“11000000”对应十进制的192。 4. **组合成点分十进制字符串**:将得到的四个十进制数与点号“.”连接起来,...

    将音频文件转二进制分包存储到Redis的实现方法(奇淫技巧操作)

    本文主要探讨了如何将音频文件转换为二进制分包,并存储到Redis这一内存数据库中,从而实现高效的数据管理。Redis作为一个高性能的键值数据库,适合处理大量小数据的快速存取,这在处理音频等多媒体数据时特别有用。...

    java 实现huaffman压缩和解压缩

    Java 实现哈夫曼(Huffman)压缩与解压缩是一个重要的数据压缩技术,它基于哈夫曼树(也称为最优二叉树),用于创建高效的数据编码。哈夫曼编码是一种可变长度的前缀编码方法,它根据字符出现频率来为每个字符分配...

    图片BASE64加密保存到数据库Blob类型中(放入数据库,并取出生成图片)

    1. **BASE64编码**:BASE64是一种用于将二进制数据转换为ASCII字符串的编码方式。它通过将每3个8位字节的数据转换为4个6位的字符,以确保所有标准ASCII字符集的字符都能被表示。在图片处理中,BASE64编码常用来将...

    java源码包---java 源码 大量 实例

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

    哈夫曼编码的JAVA实现.rar

    对于每个字符,我们找到其对应的哈夫曼编码,并将其转换为二进制序列。 5. **解码数据**:解码时,我们需要保持哈夫曼树结构不变。从根节点开始,根据二进制序列中的每一位,选择左或右子节点,直到到达叶子节点,...

    huffman编码实现文件压缩

    5. **编码与解码**:编码阶段,读取文件的每一个字符,根据编码表将字符转换为二进制序列并写入压缩文件。解码阶段,读取压缩文件中的二进制序列,根据编码表恢复出原始字符。 6. **位操作**:在处理二进制序列时,...

Global site tag (gtag.js) - Google Analytics