oracle数据库中将clob字段内容利用java提取出至文本文档中
代码段:
1.执行clob转String
public static String ClobToString(Clob sc) throws SQLException, IOException {
String reString = "";
Reader is = sc.getCharacterStream();
// 得到流
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {
// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
reString = sb.toString();
return reString;
}
2.主类执行循环读取数据库+将转换内容存储至文本文档
public static void main(String[] args) {
Connection connect = null;
Statement statement = null;
ResultSet resultSet = null;
ResultSet resultSet1 = null;
PreparedStatement preState = null;
PreparedStatement preState1 = null;
try {
// 利用Driver对象
Driver driver = new OracleDriver();
DriverManager.deregisterDriver(driver);
Properties pro = new Properties();
pro.put("user", "用户名");
pro.put("password", "密码");
connect = driver.connect("jdbc:oracle:thin:@地址:端口:数据库名", pro);
// 查询所有
String sql1 = "数据库相关查询语句";
preState1 = connect.prepareStatement(sql1);
resultSet1 = preState1.executeQuery();
while (resultSet1.next()) {
//打印相关字段名,看看验证一下是否是想要的字段
System.out.println(resultSet1.getString("字段名"));
//定义其中变量(试个人数据库语句情况而定可取舍)
String str = resultSet1.getString("字段名");
//验证一下打印字段是否正确
System.out.println(str);
String sql = "相关查询语句";
preState = connect.prepareStatement(sql);
resultSet = preState.executeQuery();
while (resultSet.next()) {
String content = ClobToString(resultSet.getClob("自定义字段或表名"));
BufferedWriter bw = null;
try {
//相关路径为:src\\clobtest\\newfile.txt这个是我自己本地路径(视个人情况而修改)
bw = new BufferedWriter(new FileWriter("src\\clobtest\\newfile.txt", true));
// for (int j = 0; j < 1; j++) {
bw.write(content + '\n');
// }
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bw != null) {
bw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//关闭资源
try {
if (resultSet != null)
resultSet.close();
if (preState != null)
preState.close();
if (statement != null)
statement.close();
if (connect != null)
connect.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
知识点:clob转换至string、jdbc:oracle数据库连接、基本读取集合内容至文本文档。
oracle数据库中将clob字段内容利用java提取出至文本文档中的更多相关文章
- 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中
查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...
- Java 写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档
写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档 import java.io.File; import java.io.FileNotFoundException; import ...
- Java 单字节、多字节读取文本文档中的内容
文本文档位于工程下. 鼠标右击工程,选择“new - File”,即可创建. 文本文档的格式:GBK 单字节读取 import java.io.File; import java.io.FileInp ...
- 文本文档中各字母出现次数汇总(java)
package 字母频率统计; import java.io.*; public class Inputfile { public static void main(String args[]) { ...
- Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值
参照: Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串 背景:在写存储过程时,需要获取表单提交的信息.表单信息是以xml格式的字符串存储在colb类型的字段dataxml中,如 ...
- Java提取文本文档中的所有网址(小案例介绍正则基础知识)
正则表达式基础以及Java中使用正则查找 定义: 正则表达式是一些用来匹配和处理文本的字符串 正则的基础(先大致了解下) 1. 正则表达式的作用 查找特定的信息(搜索) 替换一些文本(替换) 2. 正 ...
- 过滤文本文档中的数据并插入Cassandra数据库
代码如下: package com.locationdataprocess; import java.io.BufferedReader; import java.io.File; import ja ...
- 基于Oracle数据库登陆界面及功能实现 Java版
首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...
- oracle数据库对date字段类型存在空值进行排序的处理方法
oracle数据库对date字段类型存在空值进行排序的处理方法 oracle 数据库,如果表中有一个字段类型为date,且该字段类型存在空值,并且需要排序, 解决方法为使用oracl ...
随机推荐
- 集群的session问题解决方案
一.nginx ip_hash 同一个ip的请求转发到同一个服务器,太low不解释. 二.spring-session 原理:存入session中的key-value,同时存放到redis中,如果se ...
- Java枚举类的serialVersionUID
起因 最近在公司里敲代码的时候偶然间发现以前留下的枚举类实现了Serializable接口,然后写了个serialVersionUID...我以前一直没在枚举类里使用过..觉得有点神奇....于是百度 ...
- hbase安装与配置-分布式
HBASE安装与配置 备注: 1:本文在hadoop的完全分布式基础上部署hbase 2:本文使用的是小博主自己搭建的zookpeer服务,未使用hbase本身的zookpeer服务 本文内容在以下前 ...
- Lnmp 源码编译安装、常见错误整理
简介: Lnmp 环境的搭建还是非常简单的,之前由于博客迁移等原因,导致丢失了好多博文,这次重新整理记录一下. Lnmp 即:Linux .Nginx .Mysql .PHP Lnmp 是一套 Web ...
- ASP .NET core 入门基础内容备份
model 里边设置主键 : [key]可以自定义主键 默认是名称为ID类型为int的字段 设置显示格式: [DisplayFormat(DataFormatString="{0:显示的格式 ...
- [iOS]UIScrollView左右拨动,第二页宽度只有一半问题
用UIScrollView动态加入新View,而这个View是Xib方式创建,如果设置view的frame,这个view的宽度却只有设置的一半,很奇怪.于是我只设置view的frame的x值,不设置整 ...
- 利用jekyll架设个人博客
jekyll简介 jekyll是一种可以将Markdown或Textile格式文本文件转换成静态网页的工具.利用jekyll编写发布博客的基本过程为: 使用任何一款编辑器编写符合Markdown或Te ...
- Perl 子程序(函数)
1.Perl 子程序(函数)Perl 子程序也就是用户定义的函数.Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读. Perl 子程序可以出现在程序的任何地方,语法 ...
- sql解决主键冲突
在数据插入的时候,假设主键对应的值已经存在,则插入失败!这就是主键冲突.当主键存在冲突(duplicate key)的时候,可以选择性的进行处理,即忽略.更新或者替换. 1.忽略 insert ign ...
- 利用fetch进行POST传参
fetch(config.host+"url",{ method:"POST", mode: 'cors',跨域请求 headers: { ...