java读取Oracle的BFile文件
/**
*
* @author Jasmine
*/
public class GetBlob
{
public static void main(String[] args)
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Class.forName(driver);
System.out.println("class");
conn = DriverManager.getConnection(url, "lyy", "lyy");
System.out.println("connect");
stmt = conn.createStatement();
String sql = "select files from lyy.filetable where id=4";
rs = stmt.executeQuery(sql);
System.out.println("sql="+sql);
while (rs.next())
{
System.out.println(rs.getMetaData().getColumnTypeName(1));
//获取locator
BFILE bf = (BFILE)rs.getObject(1);
System.out.println("isFileOpen="+bf.isFileOpen());
OutputStream ops = null;
InputStream ips = null;
File file = new File("e:"+File.separator+bf.getName());
try
{
System.out.println(""+bf.fileExists());
bf.openFile();
ips = bf.getBinaryStream();
byte[] buffer =new byte[bf.getBytes().length];
ops = new FileOutputStream(file);
//生成os系统文件
for (int i; (i = ips.read(buffer)) > 0;)
{
System.out.println("i=" + i);
ops.write(buffer, 0, i);
ops.flush();
}
}
catch (Exception ex)
{
ex.printStackTrace(System.out);
}
finally
{
ips.close();
bf.closeFile();
ops.close();
}
}
}
catch (Exception ex)
{
ex.printStackTrace(System.out);
}
finally
{
try
{
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex)
{
Logger.getLogger(GetBlob.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
java读取Oracle的BFile文件的更多相关文章
- Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)
转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...
- Java读取Level-1行情dbf文件极致优化(3)
最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...
- Java读取Level-1行情dbf文件极致优化(2)
最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...
- java读取各类型的文件
java读取各类型的文件 用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-d ...
- Java读取并下载网络文件
CreateTime--2017年8月21日10:11:07 Author:Marydon import java.io.ByteArrayOutputStream; import java.io ...
- java读取数据写入txt文件并将读取txt文件写入另外一个表
package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...
- java读取UTF-8的txt文件发现开头的一个字符问题
今天遇到一个奇葩问题,在读取一个TXT文件时,出现开头多了一个问号(?).如下图: 莫名奇妙的多了一个.最后通过网上资料,知道在Java中,class文件采用utf8的编码方式,JVM运行时采用utf ...
- Java读取CSV和XML文件方法
游戏开发中,读取策划给的配置表是必不可少的,我在之前公司,策划给的是xml表来读取,现在公司策划给的是CSV表来读取,其实大同小异,也并不是什么难点,我就简单分享下Java如何读取XML文件和CSV文 ...
- Java 读取jar内的文件的超简便方法
坑爹的java课程设计,偏要用jar来运行 读取.存储jar内文件的支持也好低 存储方法: 进入jar文件其实没有说的那么困难,jar文件本质是一个zip格式的压缩文件,只是把文件后缀名改了,要用Ja ...
随机推荐
- POJ 2485 Highways【最小生成树最大权——简单模板】
链接: http://poj.org/problem?id=2485 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- Django报:builtin_function_or_method' object is not iterable
def detail(request,hero_id): hero=models.HeroInfo.objects.get(id=hero_id) return render_to_response( ...
- Python之正则表达式与常用模块(Day19)
一.正则表达式:匹配字符串的一种规则 正则表达式的在线测试工具: http://tool.chinaz.com/regex/ 字符组: 正则 待匹配字符 匹配结果 说明 [0123456789] 8 ...
- 【转】Git介绍
版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3. ...
- 本地yum源建立
一.openstack(ocata)本地yum源的建立: 1.配置yum缓存: vi /etc/yum.conf 把yum.conf配置改为: [main] cachedir=/var/cache/y ...
- iOS Xcode 8 打包上架 配置文件问题 此构建版本无效 推送问题 攻克 刚刚 waiting for review
煎熬... 本来xcode 7 打包正在审核了 还要修改一处购买问题 此时 xcode已经升级到xcode 8 了 升级后 很神奇 应用没报错 很好的运行 (网上很多说xib storyboard ...
- 40个你可能不知道的Python的特点和技巧
1.拆箱 >>> a, b, c = 1, 2, 3 >>> a, b, c (1, 2, 3) >>> a, b, c = [1, 2, 3] ...
- qt_hal_verion
/opt/EmbedSky/B2/linux-3.0.35/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h 文件中的具体版本 export DI ...
- P3437 [POI2006]TET-Tetris 3D
题目 P3437 [POI2006]TET-Tetris 3D 做法 一眼就是二维线段树,仔细想想,赋值操作怎么办??\(lazy\)标记放在一维,下一次又来放个标记二维就冲突了 正解:永久化标记 怎 ...
- java验证类ValidUtils
ValidUtils.java package com.lyqc.utils; import org.apache.commons.lang.StringUtils; public class Val ...