一、功能描述:

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

二、数据库:

建立一个数据库字段存放转成二进制的图片,这个字段有一个要求就是要设置成blob类型的

  1. CREATE TABLE `save_image` (
  2. `id` int(50) NOT NULL AUTO_INCREMENT,
  3. <span style="color:#FF0000;">`images` blob</span>,
  4. PRIMARY KEY (`id`)
  5. )

三、转换文件成为二进制数据并保存的Java代码:

  1. public  void save() throws SQLException
  2. {
  3. connection=connectionManager.getconn();//连接数据库的操作,这里自己连接自己的数据库
  4. try {
  5. File file=new File("D:\\1.jpg");//要转换的文件
  6. FileInputStream inputStream=new FileInputStream(file);
  7. String sql="insert into save_image(images) values(?)";//存入数据库的SQL语句在执行的时候一定要用prepareStatement
  8. statement=connection.prepareStatement(sql);
  9. statement.setBinaryStream(1, inputStream,(int)file.length());
  10. statement.executeUpdate();
  11. } catch (FileNotFoundException e) {
  12. // TODO Auto-generated catch block
  13. e.printStackTrace();
  14. } catch (SQLException e) {
  15. // TODO Auto-generated catch block
  16. e.printStackTrace();
  17. }
  18. }

四、取出数据并还原文件到本地的java代码:

  1. //读取数据库二进制文件
  2. public void readerJpg() throws SQLException
  3. {
  4. connection=connectionManager.getconn();//自己连接自己的数据库!!!!!!!!
  5. String sqlString="select images from save_image where id=4";//从数据库中读出要还原文件的二进制码,这里我读的是自己的数据库id为4的文件
  6. File file=new File("E:\\1.jpg");//本地生成的文件
  7. if(!file.exists())
  8. {
  9. try {
  10. file.createNewFile();
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }
  14. }
  15. try {
  16. byte[] Buffer = new byte[4096*5];
  17. statement=connection.prepareStatement(sqlString);
  18. resultSet = statement.executeQuery();
  19. if(resultSet.next())
  20. {
  21. FileOutputStream outputStream = new FileOutputStream(file);
  22. InputStream iStream = resultSet.getBinaryStream("images");//去字段用getBinaryStream()
  23. int size=0;
  24. while((size=iStream.read(Buffer))!=-1)
  25. {
  26. System.out.println(size);
  27. outputStream.write(Buffer,0,size);
  28. }
  29. }
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. }

java实现文件转换成二进制存储与取出的更多相关文章

  1. php将文件转换成二进制输出[转]

    header( "Content-type: image/jpeg"); $PSize = filesize('1.jpg'); $picturedata = fread(fope ...

  2. java将图片转换成二进制

    package com.oumyye.图片; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; imp ...

  3. JAVA将文件转换成byte数组(byte[])

    /** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...

  4. C# 使用FileUpload控件上传图片,将文件转换成二进制进行存储与读取

    状况描述: 需要上传文件,但是不想要保存到实体路径下,便可以用该功能来实现. 效果图: 点击[Upload]按钮,上传文件到数据库: 点击[Preview],预览文件: 具体实现: 前台: <t ...

  5. net9:图片文件转换成二进制流存入SQL数据库,以及从数据库中读取二进制流输出文件

    原文发布时间为:2008-08-10 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  6. java 读取文件转换成字符串

    public String readFromFile(File src) { try { BufferedReader bufferedReader = new BufferedReader(new ...

  7. C#图片转换成二进制流并且保存到sql server数据库

    注意:我要存储文件二进制流的列的类型是text,不是image类型. 我已经实现了从数据库中读取text类型的二进制流,,现在就是不知道怎么存进去. 我的部分关键代码: StreamReader sr ...

  8. PDF转换成二进制字符串写入 HTTP 输出流

    最近项目需要做电子签章,需要网页打开PDF签章后保存:正好复习哈二进制和流的转换: 文件转换成二进制字符串写入HTTP输出流 protected void Page_Load(object sende ...

  9. Protocol Buffer使用转换工具将proto文件转换成Java文件流程及使用

    Client与Server的网络通信协议传输使用google protobuf,服务器端使用的是Java 一. Protocol Buffersprotobuf全称Google Protocol Bu ...

随机推荐

  1. Strusts2--课程笔记5

      数据验证: 输入验证分为客户端验证与服务器端验证.客户端验证主要通过JavaScript脚本进行,而服务器端验证主要是通过Java代码进行验证. 分为以下四种情况: (1)手工编写代码,对所有Ac ...

  2. android Handler vs Timer

    Handler vs Timer 在我们Android开发过程中,经常需要执行一些短周期的定时任务,这时候有两个选择Timer或者Handler.然而个人认为: Handler 在多个方面比Timer ...

  3. svn hooks的使用demo

    我是理论家: svn server端提供了Hooks Script.所谓钩子实际上是一种时间触发机制,是指当系统执行到某个特殊的事件时,触发我们预定义的动作,可以让我们在某些特定状态发生的时候做我们想 ...

  4. nmon的安装与使用

    nmon的安装与使用 1.下载 nmon:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download nmonanalyser http://www. ...

  5. nefu 943 黑屏

    Description Veda 在用宽高比为a:b的显示器看一部宽高比为c:d的电影.在使用全屏模式看电影时,如果这个比例不相同,那么在显示器上就会出现了一些没有画面的地方,我们暂且称之为“黑屏”( ...

  6. http response

    关键词:http response header 下载文件 案例1: 访问某个链接,然后下载文件,需要特定的http头: header("Content-Type:application/z ...

  7. JSP内置对象--request对象 (setCharacterEncoding("GBK"),getParameter(),getParameterValues(),getParameterNames(),getServletPath(),getContextPath()

    使用最多,主要用来接收客户端发送而来的请求信息,他是javax.servlet.http.HttpServletRequest接口的实例化对象. public interface HttpServle ...

  8. Django CRM学员系统项目

    项目需求: 1.分讲师\学员\课程顾问角色,2.学员可以属于多个班级,学员成绩按课程分别统计3.每个班级至少包含一个或多个讲师4.一个学员要有状态转化的过程 ,比如未报名前,报名后,毕业老学员5.客户 ...

  9. max_%_connection参数详解

    对于连接数的设置,show variables里有三个参数可以对它进行控制,max_connections与max_user_connections以及max_connect_errors.下面对这三 ...

  10. C++11 左值与右值

    概念 左值:表达式结束后依然存在的对象 右值:表达式结束后就不存在的临时对象 2.如何判断左值和右值 能不能对表达式取地址,如果能,就是左值,否则就是右值 3.对下面的语句进行区分 int a = 3 ...