`
Java_Fan
  • 浏览: 81766 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

JDBC对多媒体等大数据的处理-Blob

 
阅读更多
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class BlobTest {

	/**
	 * @param args
	 * @throws IOException
	 * @throws SQLException
	 */
	public static void main(String[] args) throws SQLException, IOException {
		// create();
		read();
	}

	static void read() throws SQLException, IOException {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			// 2.建立连接
			conn = JdbcUtils.getConnection();
			// conn = JdbcUtilsSing.getInstance().getConnection();
			// 3.创建语句
			st = conn.createStatement();

			// 4.执行语句
			rs = st.executeQuery("select big_bit  from blob_test");

			// 5.处理结果
			while (rs.next()) {
				// Blob blob = rs.getBlob(1);
				// InputStream in = blob.getBinaryStream();
				InputStream in = rs.getBinaryStream("big_bit");

				File file = new File("IMG_0002_bak.jpg");
				OutputStream out = new BufferedOutputStream(
						new FileOutputStream(file));
				byte[] buff = new byte[1024];
				for (int i = 0; (i = in.read(buff)) > 0;) {
					out.write(buff, 0, i);
				}
				out.close();
				in.close();
			}
		} finally {
			JdbcUtils.free(rs, st, conn);
		}
	}

	static void create() throws SQLException, IOException {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			// 2.建立连接
			conn = JdbcUtils.getConnection();
			// conn = JdbcUtilsSing.getInstance().getConnection();
			// 3.创建语句
			String sql = "insert into blob_test(big_bit) values (?) ";
			ps = conn.prepareStatement(sql);
			File file = new File("IMG_0002.jpg");
			InputStream in = new BufferedInputStream(new FileInputStream(file));

			ps.setBinaryStream(1, in, (int) file.length());
			// 4.执行语句
			int i = ps.executeUpdate();

			in.close();

			System.out.println("i=" + i);
		} finally {
			JdbcUtils.free(rs, ps, conn);
		}
	}
}


分享到:
评论

相关推荐

    数据库的完整备份与恢复 \"--hex-blob\"

    `--hex-blob`选项是MySQL命令行工具(如mysqldump)中的一种参数,用于处理BLOB(Binary Large Object)数据类型。BLOB类型通常用于存储大块二进制数据,如图片、文档或音频文件。在备份过程中,如果直接处理BLOB...

    JavaScript-Canvas-to-Blob-master

    如果目标浏览器不支持原生的`toBlob`方法,JavaScript-Canvas-to-Blob-master将自动处理这个过程,保证在所有现代浏览器及部分旧版浏览器中的兼容性。这极大地扩展了开发者在跨平台Web应用中使用Canvas的能力,尤其...

    JavaScript-Canvas-to-Blob.zip

    Blob(Binary Large Object)是JavaScript中用于处理二进制数据的接口,它可以存储任何形式的二进制数据,如图像、音频、视频等。Blob对象通常与File对象一起使用,用于上传文件或进行异步数据传输,例如通过...

    前端项目-javascript-canvas-to-blob.zip

    在这个"JavaScript-Canvas-to-Blob-master"项目中,我们可以期待找到以下内容: - `index.html`:主页面,包含了Canvas元素和必要的JavaScript代码。 - `script.js`:JavaScript脚本,实现了将Canvas转换为Blob的...

    azure-storage-blob-11.0.0.jar

    微软云读写共享文件所需依赖

    前端开源库-idb-blob-store

    5. **游戏开发**: 游戏中的大模型、音频文件等可以通过`idb-blob-store` 存储在本地,提高游戏性能。 **总结** `idb-blob-store` 是前端开发中一个实用的开源库,通过封装和优化IndexedDB的Blob存储功能,使得...

    前端项目-blob-polyfill.zip

    Blob是JavaScript中的一个核心对象,它...总的来说,这个“前端项目-blob-polyfill.zip”是一个非常有用的工具,它帮助开发者在不支持Blob接口的浏览器中也能实现先进的文件处理功能,从而提升应用的兼容性和用户体验。

    前端开源库-abstract-blob-store

    `abstract-blob-store`是一个强大的工具,它简化了前端对blob数据的处理,提高了代码的复用性和可扩展性。通过使用这个库,开发者可以专注于业务逻辑,而不是底层存储细节,从而提升开发效率,降低项目风险。无论是...

    JavaScript-Canvas-to-Blob:JavaScript Canvas to Blob是将画布元素转换为Blob对象的功能

    JavaScript画布到Blob 内容 描述 画布斑点是一种对于不支持标准JavaScript的浏览器方法。 它可以用于从HTML 元素创建对象。 设置 通过NPM安装: npm install blueimp-canvas-to-blob 这会将JavaScript文件相对于...

    Android-react-native-fetch-blob.zip

    Android-react-native-fetch-blob.zip,致力于使文件访问和数据传输对react本地开发人员更容易、更高效的项目。,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上...

    fetch-blob:Node.js 中的 Blob 实现,最初来自 node-fetch

    获取-blob Node.js 中的 Blob 实现,最初来自 。安装npm install fetch-blob 从 2x 升级到 3x 从 2 更新到 3 应该是轻而易举的,因为 blob 规范没有太多变化。 主要版本的主要原因是编码标准。 - 内部 WeakMaps 被...

    Laravel开发-laravel-azure-blob-storage

    本项目“Laravel开发-laravel-azure-blob-storage”则是针对Azure Blob存储服务的一个扩展,它允许开发者轻松地在Laravel应用中集成微软Azure的云存储服务。 Azure Blob存储是微软云平台提供的一种对象存储解决方案...

    前端开源库-content-addressable-blob-store

    在"content-addressable-blob-store"中,它提供了一个流式内容可寻址Blob对象存储区,这指的是它支持使用Node.js的`stream2`模块来处理数据。**流(Stream)** 是Node.js的核心特性,它允许高效地处理大量数据,尤其...

    flysystem-azure-blob-storage:扩展Leagueflysystem-azure-blob-storage

    标题 "flysystem-azure-blob-storage" 指的是一种扩展,它将League的Flysystem文件系统抽象库与Azure Blob Storage服务相结合。Flysystem是一个PHP库,它提供了一个统一的接口来操作各种不同的文件系统,如本地磁盘...

    OpenCV-Sample---color-blob-detection.rar_android_android opencv_

    OpenCV 例子,通过OpenCV 的例子,可以简单的移植到android手机上并运行,开发环境已经包含在里面了

    前端项目-blob-util.zip

    在实际使用blob-util库时,开发者可以根据需求选择合适的API,简化处理Blob对象的过程,提高代码的可读性和效率。记住,合理使用和理解Blob对象及其相关工具对于优化前端项目的性能和用户体验至关重要。

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    CLOB用于存储大文本数据,如长篇文章或XML文档,而BLOB则用于存储图像、音频、视频等非结构化数据。在Java编程中,处理这些大数据对象时,我们需要使用特定的API和技巧。 标题"Clob-blob.rar_blob and clob_clob_...

    dt-blob.bin

    在CM4平台使用摄像头和4B有所差别,CM4需要额外的配置文件

    react-native-azure-blob-storage:Azure中的文件存储

    $ npm install react-native-azure-blob-storage --save 大多是自动安装 $ react-native link react-native-azure-blob-storage 用法 import React , { Component } from 'react' ; import { Button , StyleSheet ...

    Ajax-ajax-blob-downloader.zip

    Ajax-ajax-blob-downloader.zip,从ajax请求下载blob,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

Global site tag (gtag.js) - Google Analytics