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

Java导入txt文件

阅读更多
public ActionForward execute(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws FileNotFoundException, IOException {
		ImportElecForm fm = (ImportElecForm) form;

		
		FormFile fj=fm.getFile();
		String fname=fj.getFileName().toLowerCase();
		
		
		if (!(fname.endsWith(".txt"))){
			request.setAttribute("msg","您必须上传txt格式的数据文件");
			return (new ActionForward("/setting/DataAccess.jsp"));
		}
		
		if (!(fj.getFileName().length()>1)){
			request.setAttribute("msg","您必须上传的文件不包含数据!");
			return (new ActionForward("/setting/DataAccess.jsp"));
		}
		
		InputStream sin=fj.getInputStream();
		InputStreamReader isr=new InputStreamReader(sin,"GBK");
		BufferedReader bfr=new BufferedReader(isr);
		
		Connection con=null;
		ResultSet rs=null;
		HashMap courseIDs=new HashMap();
		int TOTAL_COURSE=0;
		StringBuffer sb_failed=new StringBuffer();
		StringBuffer sb_success=new StringBuffer();
		Session session=null;
		try {
			session=HibernateUtil.openSession();
			con=DBM.getConnection();
			Statement stmt=con.createStatement();		
			//StringTokenizer tokenizer = new StringTokenizer(outputText, "\n");
			
			String line="";
			while((line = bfr.readLine()) != null ){
				User user=null;
				String opcode="";
				try{
					StringTokenizer st = new StringTokenizer(line, ",");
					
					String username=st.nextToken().trim();
					String password=st.nextToken().trim();
					//String RealName=new String(st.nextToken().getBytes("ISO8859_1"),"GBK");
					//String Sex=new String(st.nextToken().getBytes("ISO8859_1"),"GBK");
					String RealName=st.nextToken();
					String Sex=st.nextToken();
					String StuFlag=st.nextToken().trim();
					String ZhuangT=st.nextToken().trim();
					//String BeiZ=new String(st.nextToken().getBytes("ISO8859_1"),"GBK");
					String BeiZ=st.nextToken();
					String v1=st.nextToken().trim();
					String v2=st.nextToken().trim();
					String v3=st.nextToken().trim();
					String role=st.nextToken().trim();

					String sql="";
					String sql2="";
					String sql3="";
					
					boolean uexist=true;
					
					try {
						user=(User)session.load(User.class,username);
					} catch (HibernateException e) {
						user=new User();
						uexist=false;
						user.setUsername(username);
					}
					
					user.setPassword(password);
					user.setRealName(RealName);
					user.setSex(Sex);
					user.setStuFlag(new Integer(StuFlag));
					user.setZhuangT(new Integer(ZhuangT));
					user.setBeiZ(BeiZ);
					
					if (StuFlag.equals("0")){
						user.setWorkerId(v1);
						user.setKem(v2);
						user.setBum(v3);
						//sql="update users set password='"+password+"',realname='"+RealName+"',sex='"+Sex+"',stuflag="+StuFlag+",zhuangt="+ZhuangT+",beiz='"+BeiZ+"',workerid='"+v1+"',kem='"+v2+"',bum='"+v3+"' where username='"+username+"'";
					}else{
						user.setStuId(v1);
						user.setNianJdm(v2);
						Stuclass stuclass=(Stuclass)session.load(Stuclass.class,v3);
						user.setStuclass(stuclass);
						
						//user.setBanJdm(v3);
						//sql="update users set password='"+password+"',realname='"+RealName+"',sex='"+Sex+"',stuflag="+StuFlag+",zhuangt="+ZhuangT+",beiz='"+BeiZ+"',stuid='"+v1+"',nianjdm='"+v2+"',banjdm='"+v3+"' where username='"+username+"'";
					}
					
					//System.out.println(sql);
					
					
					try {
						HibernateUtil.beginTransaction();
						if (uexist){
							opcode="[更新] ";
							session.update(user);
						}else {
							session.save(user);
						}
						HibernateUtil.commitTransaction();
					}catch(Exception e){
						e.printStackTrace();
					}
					/*
					try {
						stmt.execute("insert into users (username) values('"+username+"');");
					}catch(SQLException se){
						opcode="[更新] ";
						//se.printStackTrace();
					}
						stmt.execute(sql);
					*/
						
					try {
						sql3="delete from userrole where username='"+username+"'";
						sql2="insert into userrole (username,roleid) values('"+username+"','"+role+"')";
						stmt.execute(sql3);
						stmt.execute(sql2);
					}catch(SQLException se){
					}
					
					//sb_success.append(new String(line.getBytes("ISO8859_1"),"GBK"));
					sb_success.append(opcode);
					sb_success.append(line);
					sb_success.append("<br>");
				}catch(Exception e){
					//sb_failed.append(new String(line.getBytes("ISO8859_1"),"GBK"));
					sb_failed.append(opcode);
					sb_failed.append(line);
					sb_failed.append("<br>");
					e.printStackTrace();
				}
			}
		}catch(Exception e){
			e.printStackTrace();	
		}finally{
			if (rs!=null)
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}

			if (con!=null) DBM.freeConnection(con);
			
			
			try {
				HibernateUtil.closeSession();
			} catch (HibernateException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
		fj.destroy();
		
		try {
			Syslog log=new Syslog();
			log.setCreateTime(EC.getDateTime());
			log.setIp(request.getRemoteAddr());
			log.setUsername((String)request.getSession().getAttribute("username"));
			log.setDetail("");
			log.setLogType("导入用户");
			EC.addLog(log);
		} catch (HibernateException e) {
			e.printStackTrace();
		}
		request.setAttribute("success",sb_success.toString());
		request.setAttribute("failed",sb_failed.toString());
		return new ActionForward("/setting/ImportUserState.jsp");
		//return (new ActionForward("/setting/DataAccess.jsp"));
	}
分享到:
评论

相关推荐

    用java编程将txt文件数据导入oracle

    "Java编程将TXT文件数据导入Oracle数据库" Java 编程将 TXT 文件数据导入 Oracle 数据库是指使用 Java 语言编写程序将 TXT 文件中的数据导入 Oracle 数据库中,以方便进行计算、统计等操作。下面将详细介绍该知识...

    SuperMap Objects Java导入TXT存储的点数据

    本范例的核心是利用SuperMap Objects Java库来处理和导入TXT格式的点数据,将其整合到工作空间,并进一步发布为REST地图服务。这涉及到几个关键的技术环节: 1. **文本数据解析**:TXT文件通常包含一系列坐标点,如...

    java 导入Excel 文件,支持xls、xlsx、csv格式

    综上所述,Java导入Excel文件涉及的关键技术包括Apache POI库的使用,对HSSF和XSSF的理解,以及对CSV文件处理的技巧。通过熟练掌握这些知识,你可以编写出高效且健壮的文件导入程序,满足各种需求。

    java导入txt到数据库 从数据库导出txt

    本文将详述如何使用Java实现TXT文件与数据库之间的数据导入和导出。 首先,我们来了解一下基础概念。TXT文件是一种常见的文本文件格式,通常用于存储纯文本数据,如表格、日志或简单的数据记录。数据库,如MySQL、...

    TXT文件数据导入到mysql数据库

    2. **编程语言接口**:通过编程语言如Python、Java、PHP等,可以读取TXT文件并逐行处理,然后使用相应的数据库驱动(如Python的pymysql库)将数据插入到MySQL中。这在处理大量数据时可能较慢,但提供了更大的灵活性...

    java读取TXT文件入库

    在Java编程中,读取TXT文件并将其内容存入数据库是一项常见的任务,特别是在数据处理、日志分析或者导入批量数据的场景下。以下是一个详细的知识点解析,涵盖了如何使用Java来实现这一操作。 1. **读取TXT文件** -...

    java 创建txt-JAVA读取TXT文件、新建TXT文件、写入TXT文件

    在Java编程语言中,处理文本文件,特别是TXT文件,是一项常见的任务。无论是读取现有文件的内容,还是创建新的TXT文件并写入数据,都是开发者必须掌握的基本技能。本篇文章将详细探讨如何使用Java来实现这些功能。 ...

    Java解析txt文件到数据库

    本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。这个文件通常包含了创建数据库表的SQL语句,用于定义数据的结构和类型。在本场景下,它可能...

    java导入excel文件.txt

    java实现页面导入excel文件,保存excel文件到数据库,有需要在页面上导入一个excel表的同学可以借鉴

    Java读取TXT文件.txt

    ### Java读取TXT文件知识点详解 #### 一、导入必要的包 在Java程序中,我们需要首先导入处理文件读写的必要类库。在这个示例中,我们看到了`import java.io.*;`这一行代码,它表明了该程序将使用Java标准库中的`...

    用java实现txt文件导入sql sever 数据库

    txt中信息例如:姓名、年龄、年级、学号等信息通过java程序导入到SQL数据库中

    Java把txt文件导入SqlServer中

    在Java编程中,将TXT文件的数据导入到SQL Server数据库是一项常见的任务,这通常涉及到文件读取、数据处理和数据库操作。以下是对标题和描述中涉及的知识点的详细说明: 1. **文件读取**: - `File` 类:用于表示...

    java读取txt文件代码

    从给定的文件信息来看,主要关注点在于Java读取TXT文件的代码示例,以及如何处理和操作从TXT文件中读取的数据。下面将详细解释这一知识点。 ### Java读取TXT文件的基本流程 在Java中,读取TXT文件通常涉及以下几个...

    java导出TXT和Excel文件

    搭建SSH框架,利用JSP前台调用Action类中的方法,从数据库读出数据,导出TXT文件和Excel文件。TXT文件导出只用到流操作。导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010...

    java把文本文件内容导入到数据库

    在这个场景下,"java把文本文件内容导入到数据库"是一个典型的应用,它涉及到文本解析、数据库连接以及数据持久化等关键知识点。 首先,我们需要理解文本文件的格式。描述中提到文件内容的字段由“,”分隔,这种...

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

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

    java上传文件到ftp.txt

    ### Java上传文件到FTP知识点详解 #### 一、概述 在现代软件开发中,文件传输是一项常见的需求。其中,FTP(文件传输协议)是最常用的一种文件传输方式之一。本篇文章将详细阐述如何利用Java编程语言实现本地文件...

    java算法,从txt文件中读取数据录入mysql

    在Java编程中,将数据从TXT文件读取并导入MySQL数据库是一项常见的任务,涉及到文件操作、字符串处理以及数据库交互等多个知识点。以下是对这些关键概念的详细解释: 1. **文件操作**:`FileOper.java`可能包含了对...

    java删除本地文件.txt

    在Java编程语言中,操作文件是一项非常常见的任务。本文将详细介绍如何使用Java程序删除本地文件。这涉及到对Java标准库中的`java.io.File`类的理解与应用。 ### 一、理解`java.io.File` `java.io.File`是Java中...

    用Java读取.shp文件的工程文件

    这个Java工程文件旨在提供一个解决方案,帮助开发者读取`.shp`文件,获取其中的几何对象坐标,并将这些坐标写入新的文件中。下面我们将深入探讨如何用Java处理`.shp`文件以及相关的技术要点。 首先,要读取`.shp`...

Global site tag (gtag.js) - Google Analytics