- 浏览: 205937 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
Kesin97:
不错 很有用。选择性锁也不太影响性能。
sqlserver的updlock锁 (转) -
fox-idea:
学习
用PC作数据库服务器的容灾问题 -
xwei78:
话说这个下载地址不太好找啊,我去oracle网站转了好一会才找 ...
oracle10g官方客户端配置
2005-08-05 来源:CSDN 作者:CMTobby |
最近参与了一个网上直报项目的维护工作,该网上直报应用程序有一个功能就是通过导入文本文档的方式向后台数据库中批量导入直报用户,包括用户各项信息如单位名称、企业资质等级等等。其核心之处就是如何获取所上载文本文档中的内容,现将该部分程序简单介绍如下:
首先是后台的javabean程序如下所示: |
package
Util;
import javax.servlet. * ;
import javax.servlet.http.HttpServletRequest;
import java.util.LinkedList;
import java.io. * ;
public class ReadRequest{
public LinkedList getRequest(HttpServletRequest request){
LinkedList output = new LinkedList();
try {
ServletInputStream in = request.getInputStream();
int len = request.getContentLength();
System.out.println (len);
byte []b = new byte [len];
in.read(b, 0 ,len);
String str = new String(b);
System.out.println (str);
BufferedReader con = new BufferedReader( new StringReader(str));
String c = "" ;
while ((c = con.readLine()) != null ){
output.add(c);
}
}
catch (Exception e){e.printStackTrace();}
return output;
}
}
然后是写相应的jsp测试页面,此页面没有经过美工处理,仅为测试之用:)。
import javax.servlet. * ;
import javax.servlet.http.HttpServletRequest;
import java.util.LinkedList;
import java.io. * ;
public class ReadRequest{
public LinkedList getRequest(HttpServletRequest request){
LinkedList output = new LinkedList();
try {
ServletInputStream in = request.getInputStream();
int len = request.getContentLength();
System.out.println (len);
byte []b = new byte [len];
in.read(b, 0 ,len);
String str = new String(b);
System.out.println (str);
BufferedReader con = new BufferedReader( new StringReader(str));
String c = "" ;
while ((c = con.readLine()) != null ){
output.add(c);
}
}
catch (Exception e){e.printStackTrace();}
return output;
}
}
index.jsp
<%
@ page contentType
=
"
text/html; charset=gb2312
"
language
=
"
java
"
import
=
"
java.sql.*
"
errorPage
=
""
%>
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN " " http://www.w3.org/TR/html4/loose.dtd " >
< jsp:useBean id = " pn " scope = " page " class = " Util.ReadRequest " />
<%--< jsp:useBean id = " pn " scope = " request " class = " Util.GetFile " />--%>
<% @ page import = " java.util.* " %>
< html >
< head >
< meta http - equiv = " Content-Type " content = " text/html; charset=gb2312 " >
< title > 测试 </ title >
</ head >
< body >
< form name = " form1 " action = " index.jsp " method = " post " enctype = " multipart/form-data " >
< input name = " sdf " type = " file " >< input name = " aa " type = " submit " value = " 提交 " >
<%
LinkedList output = new LinkedList();
output = pn.getRequest(request);
// output=pn.readHttpData(request);
System.out.println(output.size());
for ( int i = 0 ;i < output.size();i ++ ){
out.println(output.get(i) + " <br> " );
}
%>
</ form >
</ body >
</ html >
这样就会输出文档中的内容来了,当然还有一些其他的内容,可根据实际需要对内容进行处理。需要注意的是,在该网上直报程序中,文档的格式是有要求的,每行为一个公司的基本信息,各个属性之间用“,”隔开(也可以是其他的符号如“@”),并且各个属性出现的顺序也是固定的(如必须第一项是法人代码,第二项是公司名称)。得到了文档中的内容后,就可以用一个循环批量的插入用户信息了。比如说,我上载的文本文档内容如下所示:
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN " " http://www.w3.org/TR/html4/loose.dtd " >
< jsp:useBean id = " pn " scope = " page " class = " Util.ReadRequest " />
<%--< jsp:useBean id = " pn " scope = " request " class = " Util.GetFile " />--%>
<% @ page import = " java.util.* " %>
< html >
< head >
< meta http - equiv = " Content-Type " content = " text/html; charset=gb2312 " >
< title > 测试 </ title >
</ head >
< body >
< form name = " form1 " action = " index.jsp " method = " post " enctype = " multipart/form-data " >
< input name = " sdf " type = " file " >< input name = " aa " type = " submit " value = " 提交 " >
<%
LinkedList output = new LinkedList();
output = pn.getRequest(request);
// output=pn.readHttpData(request);
System.out.println(output.size());
for ( int i = 0 ;i < output.size();i ++ ){
out.println(output.get(i) + " <br> " );
}
%>
</ form >
</ body >
</ html >
300000000,武汉,420101,230,A304,A211,4700
300000001,武汉,420101,230,A304,A211,4700
300000002,武汉,420101,230,A304,A211,4700
300000003,武汉,420101,230,A304,A211,4700
首先对output进行处理,把前面的http头内容如:Content-Disposition: form-data; name="sdf"; filename="C:\Documents and Settings\yy\桌面\test_jz.txt"以及尾remove掉,现在的output就只有文档中的内容了。然后就开始插入数据库(只给出代码片断):
//以下代码仅适合本人的例子,具体情况具体而定
for
(
int
i
=
0
;i
<
output.size();i
++
){
if (output.get(i) == null || ( (String) output.get(i)).equals( "" )) {
continue ; // 空行则自动换行 }
String s = (String) output.get(i); // 取得一行 String[] ss = s.split(",");
String sql = " insert into xt_user(f001,f002,f003,f004,f005,f006) values(?,?,?,?,?,?) " ;
PreparedStatement ps = con.prepareStatement(sql);
ps.setString( 1 ,ss[ 0 ]);
ps.setString( 2 ,ss[ 1 ]);
ps.setString( 3 ,ss[ 2 ]);
ps.setString( 4 ,ss[ 3 ]);
ps.setString( 5 ,ss[ 4 ]);
ps.setString( 6 ,ss[ 5 ]);
ps.executeUpdate();
}
if (output.get(i) == null || ( (String) output.get(i)).equals( "" )) {
continue ; // 空行则自动换行 }
String s = (String) output.get(i); // 取得一行 String[] ss = s.split(",");
String sql = " insert into xt_user(f001,f002,f003,f004,f005,f006) values(?,?,?,?,?,?) " ;
PreparedStatement ps = con.prepareStatement(sql);
ps.setString( 1 ,ss[ 0 ]);
ps.setString( 2 ,ss[ 1 ]);
ps.setString( 3 ,ss[ 2 ]);
ps.setString( 4 ,ss[ 3 ]);
ps.setString( 5 ,ss[ 4 ]);
ps.setString( 6 ,ss[ 5 ]);
ps.executeUpdate();
}
发表评论
-
Glassfish性能调优 转
2013-02-02 00:30 829GlassFish是目前主流的Java EE应用服务器之一, ... -
ant设置代理
2012-08-24 12:36 869在built.xml文件里添加如下配置 <tar ... -
java(Web)中相对路径,绝对路径问题总结 转
2012-08-03 16:10 1078前言: 前一段时间, ... -
JMS开发
2012-07-05 08:24 794在编写JMS客户端程序之 ... -
Nginx+Tomcat+Memcached集群Session共享 转
2012-03-05 18:45 1411环境: windows 7 + nginx-1.1. ... -
jsp中的session机制
2012-01-12 16:32 910摘要:虽然session机制在 ... -
Clustering经典范文学习
2011-11-27 15:27 707构造Cluster是架构师们实现Scalability与H ... -
类实例化
2011-07-08 08:40 647学习JAVA这门面向对象的语言,实质就是不断地创建类,并把类实 ... -
http客户端 转
2011-05-10 10:50 753import java.net.*; impo ... -
android sqlite使用--转ibm
2011-02-28 14:50 924SQLite 介绍 SQLite 一个非常流行的嵌入式数据库 ... -
java计算阶乘
2010-12-31 18:12 1533第一个用java计算阶乘的方法:这是利用简单的循环相乘制造的阶 ... -
使用Java NIO编写高性能的服务器 转
2010-10-20 10:48 653从JDK 1.4开始,Java的标准库中就包含了NIO,即所谓 ... -
java nio 转
2010-10-20 10:47 597首先了解下所谓的java ni ... -
java io 流 转
2010-10-20 09:09 805一、流的概念 流(stream)的概念源于 ... -
java.util.concurrent 多线程框架实例 转
2010-10-19 21:32 584JDK5中的一个亮点就是将Doug Lea的并发库引入到Jav ... -
我的项目的结构和配置文件
2006-06-27 17:33 744学习java有段时间了,最近自己根据网上的资料 ... -
ibatis 使用动态表
2006-06-29 23:50 913自从ibatis 2.0.9以后,ibatis支持动态表 ... -
JAVA-学习-网络资源
2006-07-05 00:00 750SUN中国技术社区 ... -
Swing的Jtable类(转载)
2006-07-05 13:25 9071 t ... -
Java的文件与磁盘操作(转载)
2006-07-06 00:05 9701 如何获得某一个目录下的文件列表? 1 ...
相关推荐
这个名为"excel批量转换为txt文本文档及数据清洗整理检查小工具"的程序专为处理大量Excel数据而设计,目的是为了方便用户将Excel文件高效地转换为适合Oracle数据库导入的TXT格式,并在转换过程中进行数据清洗和质量...
本文将详细介绍如何使用SpringBoot框架结合EasyExcel和MyBatis-Plus来实现Excel的批量导入和导出,从而提高数据处理效率。 首先,SpringBoot是一个轻量级的Java开发框架,它简化了Spring应用的初始搭建以及开发过程...
VB实现文本文件批量导入及数据库管理
在IT行业中,处理数据是日常任务之一,而Excel作为数据管理的重要工具...总之,通过使用PHPExcel库,我们可以方便地处理带超链接的Excel文件,并将其批量导入到数据库中,这对于数据管理和分析工作来说是非常有价值的。
在IT行业中,文本处理是一项常见的任务,特别是在大数据分析、信息检索和自然语言处理等领域。将各种格式的文档转换成纯文本(TXT)格式是其中的一个关键步骤,因为TXT文件易于处理,不受特定软件限制,适合进一步的...
1. 文件读取:工具需要能够读取文本文件的内容,这通常通过编程语言的文件I/O操作实现,例如Python中的`open()`函数或者C#的`StreamReader`类。 2. 数据解析:文本文件的内容可能以不同的格式存在,如逗号分隔值...
3. **数据迁移**:在数据库或文档管理系统中,将复杂格式的文档转换为文本格式,可以简化导入过程,提高系统的处理速度。 4. **隐私保护**:去除文档的格式信息,可以降低敏感信息泄露的风险,特别是在处理包含敏感...
Word文档文档批量导入“开始”菜单“文档”项; 文档批量改名功能,支持多种更名方式:插入字符、删除字符、替代其中字符、后缀名大小写转换、主名大小写转换; Word文档批量设置页眉页脚功能,批量为文档设置页眉...
综上所述,“Trados使用技巧-译文批量导入记忆库”的核心在于利用WinAlign工具高效地构建翻译记忆库,并通过Trados平台实现记忆库的有效利用。这一流程不仅简化了翻译工作的复杂度,提高了工作效率,还促进了翻译...
在实现批量导入导出功能时,需要使用ImportTxtfile函数从文本文件中导入数据到数据库,并使用ExportTxtfile函数从数据库中导出数据到文本文件。 在实现导入和导出功能时,需要使用SQLDA结构体来描述SQL语句,并使用...
- `HKEY_CLASSES_ROOT\.txt\ShellNew`键,表示这里存放新建文本文档的相关信息 - `HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.txt`下的结构与`HKEY_CLASSES_ROOT\.txt`相同,如果缺失,需要创建 5. **检查关联**:...
软件介绍: 在打开Batchdoc时,如果出现ComDlg32.OCX丢失问题,请安装一下微软运行库合集就能解决此问题。Batchdoc用于批量处理WORD文档,能够对WORD文档进行合并...摘要批量导入开始菜单文档清空开始菜单文档文件夹
在具体应用中,比如在使用YOLOv3进行目标检测项目时,通常需要修改文本文件中的类别ID、置信度阈值等信息,这时候批量替换功能就显得尤为重要。通过Python脚本自动化这一过程,可以大量节省时间和减少人为错误。 ...
在Java编程环境中,将数据导入Word文档是一项常见的需求,尤其在自动化报告生成或者批量处理文档时。本篇文章将深入探讨如何使用Java实现这一功能,包括导入文字和图片,并且强调了用户需要自行创建模板。 首先,...
总结起来,这个Java程序利用了Apache POI库,实现了批量从Excel文件中提取数据并导入Word文档的功能,极大地提高了工作效率,减少了重复性劳动。对于熟悉Java和Apache POI的开发者来说,这是一个很好的实践案例,...
标题中的“批量图片转双层PDF工具”是指一种软件或应用程序,它的主要功能是将大量的图像文件(如TIF、JPG格式)转换为双层PDF文档。在PDF领域,"双层"通常指的是包含可搜索和可选择的文本层以及原始图像层的PDF文件...
接下来是`txt批量导入使用指南.ppt`,这份文档很可能是对`txtread.m`的详细解释,包括以下内容: 1. **环境设置**:可能涉及MATLAB版本要求、操作系统兼容性以及必要的预装软件或库。 2. **步骤详解**:详细描述...
《改WOT文本文档专用工具详解》 在游戏领域,尤其是在线多人对战游戏World of Tanks(简称WOT)中,玩家为了个性化自己的游戏体验,有时会涉及到修改游戏内的文本资源,例如调整界面语言、修改游戏提示等。这就需要...
1. **导入文本文件**:用户可以将需要查询的文本文件批量导入到工具中,工具支持多种格式的文本文件,如.txt、.doc、.pdf等。 2. **设置查询条件**:用户需要设定查询的关键词或短语,工具会根据这些条件在所有导入...
Word文档批量导入“开始”菜单“文档”项; Word文档批量改名功能:支持多种更名方式:插入字符、删除字符、替代其中字符、后缀名大小写转换、主名大小写转换; Word文档批量设置页眉页脚功能:批量为Word文档设置...