大文本的存取


 1 package cn.itcast.jdbc.lob;
2
3 import java.io.File;
4 import java.io.FileReader;
5 import java.io.FileWriter;
6 import java.io.Reader;
7 import java.io.Writer;
8 import java.sql.Connection;
9 import java.sql.PreparedStatement;
10 import java.sql.ResultSet;
11
12 import org.junit.Test;
13
14 import cn.itcast.util.JdbcUtil;
15 //大文本的存取
16 /*
17 use day15;
18 create table t1(
19 id int primary key,
20 content longtext
21 );
22 */
23 public class ClobDemo {
24 @Test
25 public void testAdd(){
26 Connection conn = null;
27 PreparedStatement stmt = null;
28 try{
29 conn = JdbcUtil.getConnection();
30 stmt = conn.prepareStatement("insert into t1 (id,content) values (?,?)");
31 stmt.setInt(1, 1);
32 //大数据要使用流的形式
33 File file = new File("c:/jpm.txt");
34 Reader reader = new FileReader(file);
35 stmt.setCharacterStream(2, reader, (int)file.length());//不能使用long的参数,因为mysql根本支持不到那么大的数据,就没有实现
36
37 int i = stmt.executeUpdate();
38 if(i>0)
39 System.out.println("插入成功");
40
41 }catch(Exception e){
42 e.printStackTrace();
43 }finally{
44 JdbcUtil.release(null, stmt, conn);
45 }
46 }
47 @Test
48 public void testRead(){
49 Connection conn = null;
50 PreparedStatement stmt = null;
51 ResultSet rs = null;
52 try{
53 conn = JdbcUtil.getConnection();
54 stmt = conn.prepareStatement("select * from t1 where id=?");
55 stmt.setInt(1, 1);
56 //大数据要使用流的形式
57 //保存到E盘上
58 rs = stmt.executeQuery();
59 if(rs.next()){
60 Reader reader = rs.getCharacterStream("content");
61 Writer writer = new FileWriter("E:/jpm.txt");
62 char c[] = new char[1024];
63 int len = -1;
64 while((len=reader.read(c))!=-1){
65 writer.write(c, 0, len);
66 }
67 reader.close();
68 writer.close();
69 }
70
71 }catch(Exception e){
72 e.printStackTrace();
73 }finally{
74 JdbcUtil.release(null, stmt, conn);
75 }
76 }
77 }

大文本的存取

时间: 2024-10-06 14:21:29

大文本的存取的相关文章

mysql存取大文本text和批处理数据

public class ReadWriteBigData { /* create database bigdata; use bigdata; create table bigdata //创建表 ( id varchar(20)primary key, pinglun text,(大数据) image blob(二进制) );*/ public void insert() { try{ Connection con=DBHelper.getConnection(); String sql="

asp数据库编程:Oracle大文本在ASP中存取问题的解决

在我开发BS结构程序中,由于经常需要在ORACLE中处理一些容量较大的文本数据,所以经过反复测试终于用ASP成功解决了大文本数据在ORACLE下存取问题. 一.运行环境: 1.Microsoft Windows 2000 Server + IIS 5.02.Oracle8i中文标准版 二.建立数据表: CREATE TABLE SYSTEM.TEST(BLOB LONG,ID NUMBER)/ 三.源程序:1.数据存入程序:test.asp <%'表单提交处理部分{上海治疗阳痿医院}'-----

hibernate操作大文本字段Blob和Clob

hibernate操作大文本字段Blob和Clob解决方案: 1.大文本字段Blob和Clob(流); 2.截串存取 第一步: 创建新表:Elec_CommonMsg_Content create table Elec_CommonMsg_Content( comID varchar(50) not null primary key comment '主键ID', type char(2) null comment '判断站点运行和设备运行的标示', content varchar(5000)

oracle存储大文本clob、blob

1 package cn.itcast.web.oracle.util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 public class JdbcUtil { 9 private static String driver = "oracle.jdbc.driver.OracleDri

Python之mmap内存映射模块(大文本处理)说明

背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力.关于sed的说明可以看了解sed的工作原理,本文将介绍通过python的mmap模块来实现对大文件的处理,来对比看他们的差异. 说明: mmap是一种虚拟内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系.关于系统中mmap的理论说明可以看百度百科和维基百科说明以及mmap函数介

【转】Python之mmap内存映射模块(大文本处理)说明

[转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力.关于sed的说明可以看了解sed的工作原理,本文将介绍通过python的mmap模块来实现对大文件的处理,来对比看他们的差异. 说明: mmap是一种虚拟内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系.关于系统中mm

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.setChara

Java查询大文本

但JAVA本身缺少相应的类库,需要硬编码才能实现结构化文件计算,代码复杂且可读性差,难以实现高效的并行处理. 使用免费的集算器可以弥补这一不足.集算器封装了丰富的结构化文件读写和游标计算函数,书写简单代码就能实现并行计算,并提供了易用的JDBC接口.JAVA应用程序可以将集算器脚本文件当做数据库存储过程执行,传入参数并用JDBC获得返回结果 下面举例说明集算器协助JAVA查询大文本的过程. 源数据sOrder.txt如下: 要查询起止时间是startDate.endDate之间,金额大于argA

sql 批处理、获取自增长、事务、大文本处理

批处理 需要批量执行sql语句! 需求:批量保存信息! 设计: AdminDao Public void save(List<Admin list){ // 目前用这种方式 // 循环 // 保存 (批量保存) } Public void save(Admin admin ){ // 循环 // 保存 } 技术: |-- Statement 批处理相关方法 void addBatch(String sql) 添加批处理 void clearBatch() 清空批处理 int[] executeB