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"));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值