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 ...
 
随机推荐
- OpenJDK和JDK的区别
			
作者:Aloys寒风链接:https://www.zhihu.com/question/19646618/answer/40621705来源:知乎著作权归作者所有,转载请联系作者获得授权. 使用过LI ...
 - RLE行程长度编码压缩算法
			
在看emWIN的时候看到一个图片压缩的算法可以有效的对二值图(简单的2中颜色或者更多)进行压缩,压缩的效果可以节省空间而且不丢失信息! 特点 一种压缩过的位图文件格式,RLE压缩方案是一种极其成熟的压 ...
 - C# 处理图片 不规则图形裁剪
			
最近项目要求实现不规则裁剪功能.本来想用html5的canvas在前端实现的,但是发现有点困难,以下为C#端对图对片的处理. 为了让大家知道下面内容是否是自己想要的,我先发效果图. 原图 通过下面代码 ...
 - POJ 2516 Minimum Cost
			
每个物品分开做最小费用最大流. #include<cstdio> #include<cstring> #include<cmath> #include<vec ...
 - 测试TCP/IP配置
			
安装网络硬件和网络协议之后,我们一般要进行TCP/IP协议的测试工作,那么怎样测试才算是比较全面的测试呢?我们认为,全面的测试应包括局域网和互联网两个方面,因此应从局域网和互联网两个方面测试,以下是我 ...
 - html 框架属性
			
<html> <head> <title></title> </head> <frameset col ...
 - hdu_2608_0 or 1_数论
			
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2608 反正我是没找出这个规律的,规律参考的别人的! /* 分析:假设数n=2^k*p1^s1*p2^s ...
 - java动态代理(1)
			
来源:http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html# java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代 ...
 - 更改 android realtek的系统权限
			
由于在 在删除系统的文件时候出现 Read-only file system,所以要获取权限. 推出shell adb mount mount -o rw,remount /system 就可以了
 - Object.setPrototypeOf 方法的使用
			
将一个指定的对象的原型设置为另一个对象或者null(既对象的[[Prototype]]内部属性). 语法 Object.setPrototypeOf(obj, prototype) 参数 obj 将被 ...