java实现文件转换成二进制存储与取出
一、功能描述:
将文件转成二进制数据放入数据库中,需要的时候,便可以取出安装与使用。
二、数据库:
建立一个数据库字段存放转成二进制的图片,这个字段有一个要求就是要设置成blob类型的
- CREATE TABLE `save_image` (
- `id` int(50) NOT NULL AUTO_INCREMENT,
- <span style="color:#FF0000;">`images` blob</span>,
- 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实现文件转换成二进制存储与取出的更多相关文章
- php将文件转换成二进制输出[转]
header( "Content-type: image/jpeg"); $PSize = filesize('1.jpg'); $picturedata = fread(fope ...
- java将图片转换成二进制
package com.oumyye.图片; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; imp ...
- JAVA将文件转换成byte数组(byte[])
/** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...
- C# 使用FileUpload控件上传图片,将文件转换成二进制进行存储与读取
状况描述: 需要上传文件,但是不想要保存到实体路径下,便可以用该功能来实现. 效果图: 点击[Upload]按钮,上传文件到数据库: 点击[Preview],预览文件: 具体实现: 前台: <t ...
- net9:图片文件转换成二进制流存入SQL数据库,以及从数据库中读取二进制流输出文件
原文发布时间为:2008-08-10 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...
- java 读取文件转换成字符串
public String readFromFile(File src) { try { BufferedReader bufferedReader = new BufferedReader(new ...
- C#图片转换成二进制流并且保存到sql server数据库
注意:我要存储文件二进制流的列的类型是text,不是image类型. 我已经实现了从数据库中读取text类型的二进制流,,现在就是不知道怎么存进去. 我的部分关键代码: StreamReader sr ...
- PDF转换成二进制字符串写入 HTTP 输出流
最近项目需要做电子签章,需要网页打开PDF签章后保存:正好复习哈二进制和流的转换: 文件转换成二进制字符串写入HTTP输出流 protected void Page_Load(object sende ...
- Protocol Buffer使用转换工具将proto文件转换成Java文件流程及使用
Client与Server的网络通信协议传输使用google protobuf,服务器端使用的是Java 一. Protocol Buffersprotobuf全称Google Protocol Bu ...
随机推荐
- HDU 4585 Shaolin (set的应用)
set是STL中非常方便的工具,可以实现自动去重和排序,可我一直忽视它的重要性,导致吃了好几次亏. 在思考这道题的时候,我一直往二分上靠拢,可是二分需要直接插入排序,直接插入排序覆盖的时候复杂度最大是 ...
- vbs鼠标方法——模拟鼠标按键
'*********************************************************************** ' 代码开始 '******************* ...
- IP相关常识
IP相关常识 一. IP地址概念 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机.网络ID用来标识计算机所处的网段:主机ID用来标识计算机在网段 ...
- 网页特效-动态加载JavaScript
描述: 把一些逻辑独立的JavaScript脚本文件单独加载,是一种常见的JavaScript动态加载技术.可以减少不必要的JavaScript脚本文件的加载,以提高网页浏览速度 代码: <!D ...
- hdu_5792_World is Exploding(树状数组+逆序对)
题目链接:hdu_5792_World is Exploding 题意: 给你一个数列,让你找有多少个(a,b,c,d)满足a≠b≠c≠d,1≤a<b≤n,1≤c<d≤n,Aa<Ab ...
- HDU2504:又见GCD
Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input ...
- 定时执行.SH
crontab -l 看自定义定时列表 crontab -e 编辑 */10 * * * * /bak/bak.sh10分钟执行一次 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Apache配置详解【转】
http站点要这样配置服务器才安全 2016-07-29 10:32 主机(站点)配置 一个站点的2个核心信息为: 主机名(服务器名/站点名): ServerName 服务器名 站点位置(站点目录路径 ...
- PHP之Zip扩展,解压缩文件,ZipArchive类
<?php $zip = new ZipArchive();//新建一个对象 /* $zip->open这个方法第一个参数表示处理的zip文件名. 第二个参数表示处理模式,ZipArchi ...
- RGB888转RGB666
内存中的数据排列高位在左,低位在右 RGB888->RGB666 高 -------低 B[3] B[2] B[1] B[0] ...