代码段:

  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提取出至文本文档中的更多相关文章

  1. 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

    查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...

  2. Java 写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档

    写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档 import java.io.File; import java.io.FileNotFoundException; import ...

  3. Java 单字节、多字节读取文本文档中的内容

    文本文档位于工程下. 鼠标右击工程,选择“new - File”,即可创建. 文本文档的格式:GBK 单字节读取 import java.io.File; import java.io.FileInp ...

  4. 文本文档中各字母出现次数汇总(java)

    package 字母频率统计; import java.io.*; public class Inputfile { public static void main(String args[]) { ...

  5. Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值

    参照: Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串 背景:在写存储过程时,需要获取表单提交的信息.表单信息是以xml格式的字符串存储在colb类型的字段dataxml中,如 ...

  6. Java提取文本文档中的所有网址(小案例介绍正则基础知识)

    正则表达式基础以及Java中使用正则查找 定义: 正则表达式是一些用来匹配和处理文本的字符串 正则的基础(先大致了解下) 1. 正则表达式的作用 查找特定的信息(搜索) 替换一些文本(替换) 2. 正 ...

  7. 过滤文本文档中的数据并插入Cassandra数据库

    代码如下: package com.locationdataprocess; import java.io.BufferedReader; import java.io.File; import ja ...

  8. 基于Oracle数据库登陆界面及功能实现 Java版

    首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...

  9. oracle数据库对date字段类型存在空值进行排序的处理方法

    oracle数据库对date字段类型存在空值进行排序的处理方法      oracle 数据库,如果表中有一个字段类型为date,且该字段类型存在空值,并且需要排序,     解决方法为使用oracl ...

随机推荐

  1. 集群的session问题解决方案

    一.nginx ip_hash 同一个ip的请求转发到同一个服务器,太low不解释. 二.spring-session 原理:存入session中的key-value,同时存放到redis中,如果se ...

  2. Java枚举类的serialVersionUID

    起因 最近在公司里敲代码的时候偶然间发现以前留下的枚举类实现了Serializable接口,然后写了个serialVersionUID...我以前一直没在枚举类里使用过..觉得有点神奇....于是百度 ...

  3. hbase安装与配置-分布式

    HBASE安装与配置 备注: 1:本文在hadoop的完全分布式基础上部署hbase 2:本文使用的是小博主自己搭建的zookpeer服务,未使用hbase本身的zookpeer服务 本文内容在以下前 ...

  4. Lnmp 源码编译安装、常见错误整理

    简介: Lnmp 环境的搭建还是非常简单的,之前由于博客迁移等原因,导致丢失了好多博文,这次重新整理记录一下. Lnmp 即:Linux .Nginx .Mysql .PHP Lnmp 是一套 Web ...

  5. ASP .NET core 入门基础内容备份

    model 里边设置主键 : [key]可以自定义主键 默认是名称为ID类型为int的字段 设置显示格式: [DisplayFormat(DataFormatString="{0:显示的格式 ...

  6. [iOS]UIScrollView左右拨动,第二页宽度只有一半问题

    用UIScrollView动态加入新View,而这个View是Xib方式创建,如果设置view的frame,这个view的宽度却只有设置的一半,很奇怪.于是我只设置view的frame的x值,不设置整 ...

  7. 利用jekyll架设个人博客

    jekyll简介 jekyll是一种可以将Markdown或Textile格式文本文件转换成静态网页的工具.利用jekyll编写发布博客的基本过程为: 使用任何一款编辑器编写符合Markdown或Te ...

  8. Perl 子程序(函数)

    1.Perl 子程序(函数)Perl 子程序也就是用户定义的函数.Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读. Perl 子程序可以出现在程序的任何地方,语法 ...

  9. sql解决主键冲突

    在数据插入的时候,假设主键对应的值已经存在,则插入失败!这就是主键冲突.当主键存在冲突(duplicate key)的时候,可以选择性的进行处理,即忽略.更新或者替换. 1.忽略 insert ign ...

  10. 利用fetch进行POST传参

    fetch(config.host+"url",{      method:"POST",      mode: 'cors',跨域请求 headers: { ...