`
liuzhiqiang19890403
  • 浏览: 61011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

解析txt文件并查询写txt文件并保存数据

 
阅读更多
*********解析txt文件并且将txt文件中的字段进行查询操作并且写入txt文件并且保存查询字段*********


public class RouseBD {
public String encoding = "GBK";
public InputStreamReader read;
public BufferedReader bufferedReader;
ResultSet rsset = null;
PreparedStatement pstmt = null; 
Connection conn = null;
static List<String> zylist = new ArrayList<String>();
public static String flag = "FALSE";
static{
//资源名称
// zylist.add("bjtxzxx");
// zylist.add("crjryxx");
// zylist.add("ycmxx");
// zylist.add("bmxx");
// zylist.add("exjczkkxx");
// zylist.add("swryxx");
zylist.add("T_YH");
}
public void rouseCom(){
//解析txt文档
String encoding = "GBK";
File file = new File("d://lzq_bf_new/bianfang-portal/src/main/java/com/egf/ws/zybz.txt");
if (file.isFile() && file.exists())
{
try {
read = new InputStreamReader( new FileInputStream(file), encoding);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
bufferedReader = new BufferedReader(read);
String lineTXT = null;
int num = 0;
Map<String, String> data = new HashMap<String, String>();
try {
while ((lineTXT = bufferedReader.readLine()) != null){
//解析的txt文档中,包含的有限身份证限制为1000个
if(data.size()>1000){
return;
}
if(num==0){
num++;
continue;
}else{
String[] linedata = lineTXT.split(";");
//暂存身份证和姓名
if(linedata[0].length()!=18 && linedata[0].length()!=15){
return;
}
data.put(linedata[0], linedata[1]);
}
num++;
}
} catch (IOException e) {
e.printStackTrace();
}
execute(data);
}else{
System.out.println("找不到指定的文件!");
}
}
/**
* 执行数据库操作
* @param map
*/
public void execute(Map<String, String> map){
Iterator zylt = zylist.iterator();
while(zylt.hasNext()){
String tablename = (String) zylt.next();
try {
Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
conn = DriverManager.getConnection("jdbc:db2://10.1.7.74:50000/bf", "db2inst1", "db2");
String sql = "select * from QBYWK."+tablename+" where sfzh=?";
pstmt = conn.prepareStatement(sql);
Set<Map.Entry<String, String>> set = map.entrySet();
Iterator<Map.Entry<String, String>> it = set.iterator();
//创建文件
String path = "d://"+tablename+".txt";
File filename = new File(path);
if (!filename.exists()) {
filename.createNewFile();
}
BufferedWriter output = new BufferedWriter(new FileWriter(filename));
while(it.hasNext()){
Map.Entry<String, String> me = it.next();
String sfzh = me.getKey();
pstmt.setString(1, sfzh);
rsset=pstmt.executeQuery();
//处理查询结果
resultHandle(tablename, rsset,output); 
}
} catch (Exception e) {
e.printStackTrace();
}
finally { 
   try {
if(rsset != null) { 
     rsset.close(); 
rsset = null; 
}
    if(pstmt != null) { 
     pstmt.close(); 
     pstmt = null; 
    } 
    if(conn != null) { 
     conn.close(); 
     conn = null; 
    } 
   } catch (SQLException e) { 
    e.printStackTrace(); 
   } 
}
}
//保存有效查询信息
saveInfo(map);
}

/**
* 处理查询结果集
* @param rs
*/
public void resultHandle(String tablename,ResultSet rsset,BufferedWriter output){

ResultSetMetaData rsmd;
try {
rsmd = rsset.getMetaData();
int columnCount = rsmd.getColumnCount();
String liename="";
String liedata="";
if(flag.equals("FALSE")){
for (int i=1; i<=columnCount; i++){  
String lie = rsmd.getColumnName(i);
liename+=(lie+";");
}  
output.write(liename+"\n");
liename="";
flag="TRUE";
}
while (rsset.next()){ 
for (int i=1; i<=columnCount; i++){  
String lie = rsset.getString(i);
liedata+=(lie+";");
}
output.write(liedata+"\n");
liedata="";
}
output.flush();
} catch (Exception e) {
e.printStackTrace();
}  
}
/**
* 保存有效查询信息
* @param map
*/
public void saveInfo(Map<String, String> map){
SimpleDateFormat dateformat1=new SimpleDateFormat("yyyy-MM-dd");
Date da = new Date();
try {
Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
conn = DriverManager.getConnection("jdbc:db2://10.1.7.74:50000/bf", "db2inst1", "db2");
String sql2 = "insert into QBYWK.T_QQBFZYINFO VALUES(QBYWK.SEQ_T_QQBFZY.nextval,?,?,?)";
pstmt = conn.prepareStatement(sql2);
Set<Map.Entry<String, String>> set2 = map.entrySet();
Iterator<Map.Entry<String, String>> it2 = set2.iterator();
while(it2.hasNext()){
Map.Entry<String, String> me = it2.next();
String sfzh = me.getKey();
pstmt.setString(1, sfzh);
pstmt.setString(2, me.getValue());
pstmt.setString(3, dateformat1.format(da));
            //在oracle中执行插入操作可以使用pstmt.executeQuery()
            //在db2中执行插入操作不可以,只可以使用pstmt.execute()
pstmt.execute();
}
} catch (Exception e) {
e.printStackTrace();
}
finally { 
   try {
if(rsset != null) { 
     rsset.close(); 
rsset = null; 
}
    if(pstmt != null) { 
     pstmt.close(); 
     pstmt = null; 
    } 
    if(conn != null) { 
     conn.close(); 
     conn = null; 
    } 
   } catch (SQLException e) { 
    e.printStackTrace(); 
   } 
}
}
分享到:
评论

相关推荐

    串口数据保存至TXT文件.rar

    5. **保存数据至TXT文件**:将处理好的数据保存到TXT文件,可以使用“File Write String”函数。指定文件路径和写入模式(覆盖或追加),然后传递要写入的字符串。每次读取到新的串口数据后,都可以调用这个函数更新...

    TCP获取数据保存为txt文件(亲测有效)

    # 保存数据到TXT文件 with open('received_data.txt', 'w') as f: f.write(data.decode('utf-8')) # 关闭连接 sock.close() ``` 在这个例子中,我们创建了一个TCP套接字,然后连接到本地主机的10000端口。`recv()...

    KITTI数据集pkl文件解析txt

    本文件是将kitti数据集产生的pkl数据解析成txt文件,pkl里面的数据其实就是障碍物检测的实际信息,转换成txt后方便大家阅读 。

    VB6.0将数据保存为TXT文件,源代码编

    在VB6.0(Visual Basic 6.0)中,将数据保存为TXT文件是一项常见的操作,这在处理文本日志、数据交换或简单的数据存储时非常有用。本篇文章将详细解析如何通过VB6.0的源代码实现这一功能。 首先,我们需要了解几个...

    将数据导出到TXT文件

    - **长时间运行的稳定性**:根据描述中的信息,该代码已经在多个恶劣的工业环境中成功运行了几个月,并且能够持续保存数据。这表明 TXT 文件作为一种数据存储方式,在保持数据完整性方面具有较高的可靠性。 ### 4. ...

    将BIN文件数据转换成TXT文件数据

    在IT领域,我们经常需要...总的来说,将BIN文件数据转换为TXT文件涉及对二进制数据的理解、选择合适的解析策略以及利用C#的I/O和序列化功能。在执行这个任务时,一定要清楚原始数据的特性,以便正确地转换和解读数据。

    java 读取txt数据并保存到数据库中源代码

    java 读取txt文本文件中的数据并保存到数据库中源代码,假设txt已有格式,并以","分隔。其中的sql包需要自己去微软官网下载。

    将BMP文件数据转换为TXT文件.zip

    这个压缩包“将BMP文件数据转换为TXT文件.zip”包含了一个教程或代码示例,教你如何将BMP文件中的数据提取出来并保存为TXT文本文件。 转换过程通常涉及以下几个步骤: 1. **读取BMP文件头信息**:BMP文件由文件头...

    bmp文件读出为txt文件, txt文件写入为bmp文件

    当我们将BMP文件转换为TXT时,我们需要解析这些二进制数据并将其转化为人类可读的文本格式。这通常包括: 1. 文件头:BMP文件以一个固定长度的文件头开始,包括文件大小、创建时间等信息。例如,DOS头(2字节)和...

    PB实时读取txt文件

    标题中的“PB实时读取txt文件”指的是使用PowerBuilder(PB)开发的程序,能够实时监控并读取TXT文本文件的内容。在IT行业中,PowerBuilder是一种流行的企业级应用程序开发工具,尤其适合构建数据库驱动的应用。这个...

    python生成高斯(gauss)数据并保存为txt文件(csdn)————程序.pdf

    # 保存数据到TXT文件 np.savetxt(r'C:\Users\gauss.txt', a, fmt='%f', delimiter='\t') if __name__ == '__main__': generate_gauss() ``` 该段代码主要包含了以下几个部分: 1. **导入必要的库**:`numpy` ...

    用matlab读取txt文件并作图

    在MATLAB中,读取文本文件(如TXT文件)并绘制数据是数据分析和可视化的基本操作。本教程将详细介绍如何利用MATLAB处理光谱仪测量的反射率数据,并将其转化为可视化的图表。 首先,我们需要理解反射率数据的结构。...

    tdms转txt文件——TDMSReader.exe(可直接安装使用)

    TDMS文件的处理通常涉及到读取、解析和转换TDMS文件中的数据,而TXT转换则是将这些数据转化为纯文本格式,便于在不同的环境中查看、分析或进一步处理。 在压缩包子文件的文件名称列表中,我们看到"setup.exe"和...

    解析抓包软件中tcp包装的数据并转换为txt文本

    处理抓包软件抓包保存的文件,过滤并仅取出tcp包装的数据,保存到txt文件中 使用网络抓包软件,抓包后,保存文件xxx.pcap; 使用本软件,可以将xxx.pcap文件中tcp包装的数据解析到txt文件中; 使用场景:

    解析XML文件,使用ElementTree模块,并根据流程图设计合适的数据结构保存解析结果-使用Python ElementTree模块解析XML文件并设计数据结构-含源代码及解释

    内容概要:本文详细介绍了如何使用Python的ElementTree模块解析XML文件,并设计合适的数据结构来保存解析结果。具体步骤包括导入ElementTree模块、解析XML文件、设计数据结构、遍历XML元素、提取信息并保存到数据...

    从txt文件中读取内容进行解析存储到sqlite中

    通过以上步骤,我们可以高效地处理TXT文件中的数据,并将其有效地存储到SQLite数据库中,便于后续的查询和分析。在实际项目中,还应考虑异常处理、性能优化(如批量插入)以及数据一致性等问题。

    HEX文件转化成Txt文件工具_HEX2Txt.rar

    综合以上信息,我们可以理解这个工具的工作原理:它读取HEX文件,解析其中的十六进制数据,然后按照用户选择的大小(1byte、2byte或4byte)将其转换为对应的数值,并逐行写入TXT文件。这个过程对于那些需要处理或...

    从ftp上下载txt文件插入到数据库中的原文件

    - 配置文件路径,指向下载的TXT文件,设置分隔符(如逗号或制表符),以正确解析文件内容。 - 定义字段映射,根据TXT文件的结构,将列名映射到相应的数据库字段。 3. **数据预处理** - 如果TXT文件中存在需要...

    C#中DXF文件解析显示(读取,合并,保存).rar_.dxf_IYF_c#操作DXF_cannot7fn_csharpdxf文

    首先,读取DXF文件涉及解析文件结构。DXF文件由多个段(sections)组成,如HEADER、CLASSES、ENTITIES、BLOCKS等。每个段包含不同的信息,例如HEADER存储了图形的属性信息,ENTITIES则包含了实际的几何图形数据。...

    Labview按行读取带有数字和文字的txt文件,并保存在Excel中

    LabVIEW(Laboratory Virtual Instrument Engineering ...以上就是关于LabVIEW按行读取带有数字和文字的TXT文件并保存到Excel的相关知识点。通过理解这些概念和步骤,你可以创建一个稳健的程序来处理此类任务。

Global site tag (gtag.js) - Google Analytics