zoukankan      html  css  js  c++  java
  • JDBC学习笔记(三)大文本数据的读写

    一、用JDBC向数据库插入大文本数据

    String sql = "insert into my_clob values (null, ?)";
    ps = conn.prepareStatement(sql);
    File f = new File("D:\BaiduNetdiskDownload\mysql\jdbc.sql");
    Reader reader = new BufferedReader(new FileReader(f));
    ps.setCharacterStream(1, reader , f.length());
    int res = ps.executeUpdate();
    System.out.println(res);
    reader.close();


    二、从数据库读取大文本数据写入到文件中

    方式一:直接把数据保存到字符串中

    String big_text = rs.getString("bit_text");
    File f = new File("D:\BaiduNetdiskDownload\mysql\jdbc.bak.sql");
    Writer wt = new FileWriter(f);
    wt.write(big_text);
    wt.close();

    方式二:通过ResultSet对象rs获取输入流读取数据,创建输出流写到文件

    Reader rd = rs.getCharacterStream("bit_text");
    File f = new File("D:\BaiduNetdiskDownload\mysql\jdbc.bak.sql");
    Writer wt = new FileWriter(f);
    char[] buff = new char[1024];
    int i = 0;
    while ((i = rd.read(buff)) != -1)
    {
      wt.write(buff,
    0, i);
    }
    wt.close();
    rd.close();

    方式三、通过Clob对象获取输入流

    cb = rs.getClob("bit_text");
    Reader rd = cb.getCharacterStream();
    File f = new File("D:\BaiduNetdiskDownload\mysql\jdbc.bak.sql");
    Writer wt
    = new FileWriter(f);
    char[] buff = new char[1024];
    int i = 0;
    while ((i = rd.read(buff)) != -1)
    {
      wt.write(buff,
    0, i);
    }
    wt.close();
    rd.close();
  • 相关阅读:
    HomeWork2
    An error I have completed recently
    C#之规格说明书
    App上架审核指南翻译
    使用CollectionView做横向滑动分页效果:
    推荐一些CSS命名规范
    关于让左右2个DIV高度相等
    带有缩略图和文字提示的轮播图
    动画的定义:
    .Net基础篇_学习笔记_第五天_流程控制while循环002
  • 原文地址:https://www.cnblogs.com/pengyin/p/6407259.html
Copyright © 2011-2022 走看看