`

将java.sql.Blob对象存储成文件

    博客分类:
  • Java
阅读更多
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;

	private void saveFile(String filePath, Blob content) throws Exception {
		FileOutputStream fos = null;
		BufferedOutputStream bos = null;
		InputStream is = null;
		BufferedInputStream bis = null;
		try {
			File file = new File(filePath);
			fos = new FileOutputStream(file);
			bos = new BufferedOutputStream(fos);
			is = content.getBinaryStream();
			bis = new BufferedInputStream(is);
			int b1 = 0;
			while ((b1 = bis.read()) != -1) {
				bos.write(b1);
				bos.flush();
			}
		} catch (Exception e) {
			throw e;
		} finally {
			if(is!=null){
				is.close();
			}
			if (bis != null) {
				bis.close();
			}
			if (fos != null) {
				fos.close();
			}
			if (bos != null) {
				bos.close();
			}
		}
	}

 主要原因是我需要把Blob对象取出来作为邮件的附件发送。

本来还想直接在javamail中用Blob取出InputStream作为附件直接发送。

但是javamail不支持这种方法。

我用的javamail版本是1.4.1

分享到:
评论

相关推荐

    [java]将Byte存入blob.rar

    在Java中处理Blob数据涉及读取二进制数据、将其转换为Blob对象、在SQL语句中设置Blob参数以及从数据库中读取Blob数据。这个过程在处理像图片这样的大文件时尤其有用。确保选择适当的数据库特定类进行Blob操作,并...

    java,Blob字段操作,将图片或者文件保存到数据库中.zip

    在Java编程中,Blob(Binary Large Object)是用于存储大量二进制数据的数据类型,常被用在数据库中保存图片、文件等非文本信息。本教程将深入探讨如何使用Java进行Blob字段的操作,以实现将图片或文件保存到数据库...

    java 存数据库 blob文件的示例

    在Java编程中,Blob(Binary Large Object)是用于存储大对象数据类型的一种方式,常见于关系型数据库中,如SQL Server。Blob类型适用于存储图片、音频、视频等非结构化数据。本示例将详细解释如何使用Java向SQL ...

    java对oracle数据库中blob字段的处理

    在Java中,读取Oracle数据库中的BLOB字段通常通过`java.sql.Blob`类实现。这个类提供了多种方法来处理BLOB数据,例如`getBytes(long pos, int length)`用于获取BLOB的一部分或全部内容。以下是一个简单的示例: ```...

    使用hibernate对oracle读取blob

    在Java开发中,Blob(Binary Large Object)类型用于存储大对象,如图片、音频或视频文件等。Oracle数据库是广泛使用的数据库系统,它支持Blob类型的字段。Hibernate作为一款流行的ORM(对象关系映射)框架,提供了...

    java中读取ORACLE中BLOB字段存储的图片

    本文将详细介绍如何在Java应用程序中读取存储在Oracle数据库BLOB字段中的图片数据。 #### 二、准备工作 为了实现读取Oracle数据库中的BLOB字段存储的图片,我们需要进行以下准备: 1. **环境搭建**: - Oracle...

    java file upload BLOB

    因此,通常会采用二进制大对象(BLOB)的方式来存储较大的二进制数据。 #### 代码示例解析: 在提供的代码片段中,可以看到两个主要的方法:`getApplya` 和 `addSecurityChecks`。 - **`getApplya` 方法**: - 此...

    oracle数据类型和对应的JDBC类型.pdf

    BLOB 对应的 JDBC 类型是 java.sql.Types.BLOB,Java 类型是 java.sql.Blob。CLOB 对应的 JDBC 类型是 java.sql.Types.CLOB,Java 类型是 java.sql.Clob。STRUCT 对应的 JDBC 类型是 java.sql.Types.STRUCT,Java ...

    java中sqllite数据库blob数据类型的存取.docx

    在Java中操作SQLite数据库时,BLOB(Binary Large Object)类型的数据处理是较为常见的需求之一,尤其是在需要存储图片、文档等二进制文件的情况下。本文档旨在解决如何在Java环境下通过SQLite有效地存储和提取BLOB...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    对于CLOB和BLOB字段,Oracle JDBC驱动提供了`oracle.jdbc.driver.OracleClob`和`oracle.jdbc.driver.OracleBlob`类,它们实现了Java的标准接口`java.sql.Clob`和`java.sql.Blob`。这两个接口提供了读取和写入大数据...

    在Oracle中存取BLOB对象实现文件的上传和下载.txt

    - 将结果集中的BLOB对象转换为适当的类型(如`oracle.sql.BLOB`或`weblogic.jdbc.vendor.oracle.OracleThinBlob`)。 - **读取BLOB数据并写入文件:** - 获取BLOB对象的输入流`getBinaryInputStream()`。 - 创建...

    java读取大字段blob类型

    在数据库中,`BLOB`(Binary Large Object)类型通常用于存储大量的二进制数据,如图像、音频文件或文档等。而在Java开发过程中,处理这些大数据量的`BLOB`字段是一项挑战性的任务。本文将详细介绍如何在Java中有效...

    JAVA中SQLlite数据库BLOB数据类型的存取.docx

    JAVA 中 SQLlite 数据库 BLOB 数据类型的存取是指在 JAVA 语言中使用 SQLlite 数据库来存储和读取大型二进制对象(BLOB),以便实现文件存储和读取的功能。本文将详细介绍如何使用 JAVA 语言来实现 SQLlite 数据库...

    使用JDBC和Hibernate来写入Blob型数据到Oracle中

    注意,这里使用了session.getBinaryStream()来从文件系统读取文件内容,然后将其设置为Blob对象。当然,你也可以直接从内存中的字节数组构建Blob对象。 总结一下,处理Oracle数据库中的Blob数据,你可以选择使用...

    oracle_java_blob

    总结,通过上述步骤,我们成功地利用Java将MP3文件存储到Oracle数据库的BLOB字段,并能够从中检索出来。这个过程涉及到数据库连接、SQL操作、文件I/O以及BLOB数据类型的处理。在实际应用中,需要考虑异常处理、事务...

    java将图片写入数据库,并读出来(blob clob)

    这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储字符数据,比如长文本。以下是如何使用Java处理...

    Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle.docx

    在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `oracle.sql.BLOB`。 1. **`java.sql.Blob`**: - 这是一个 Java 接口...

    blob 文件入库例子

    在这个文件中,开发者可能会展示如何创建Blob对象,读取二进制文件内容,并将其转换为Blob,然后使用Java的JDBC(Java Database Connectivity)API插入到MySQL数据库中。同时,可能也会涉及到Clob的类似操作,用于...

Global site tag (gtag.js) - Google Analytics