public boolean uploadAndSave(HttpServletRequest request) throws IOException {
uploader = new Upload(request.getSession().getServletContext(), request, "gb2312", 200); // 上传文件
uploader.setSaveInTempFile(true);// 保存到临时文件
upMsg = uploader.save();
// 判断文件是否上传成功
if (upMsg.isSuccessful) {
files = uploader.getUploadedFiles();
upFile = (UploadedFile) files.get(0);
fileName = upFile.getAbsoluteFileName_Saved();// 得到文件路径
fr = new FileReader(fileName); // 创建FileReader对象
br = new BufferedReader(fr); // 创建BufferedReader对象
Line = br.readLine();// 从文件读取一行字符串
try {
// 判断读取到的字符串是否不为空
while (Line != null) {
ps = this.getConn().prepareStatement(insert);
// 字符串处理
String[] newline = SplitterString.getTokens(Line, "] [");
// 去除字符串头的"["号
String temp1 = newline[0].substring(1);
// 去除字符串尾的"]"号
String temp2 = newline[newline.length-1].substring(0, (newline[newline.length-1].length()-1));
//System.out.println(temp1 + " " + temp2);
//System.out.println(newline.length+" "+(newline.length-1)+" "+newline[newline.length-1]+" "+(newline[newline.length-1].length()-1)+" ");
ps.setString(1, temp1); // 插入第一个处理后的截取字符串
for (int i = 1; i < newline.length; i++) {
ps.setString(i + 1, newline[i]); // 插入中间处理后的截取字符串
}
ps.setString(newline.length, temp2); // 插入最后一个处理后的截取字符串
ps.executeUpdate();// 执行插入数据
Line = br.readLine();// 从文件中继续读取下一行数据
}
ps.close(); // 关闭preparedstatement
} catch (Exception ex) {
// TODO 自动生成 catch 块
ex.printStackTrace();
return false;
} finally {
try {
if (this.getConn() != null) {
this.getConn().close();// 关闭数据库连接
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
return false;
}
}
if (br != null) br.close();// 关闭BufferedReader对象
if (fr != null) fr.close();// 关闭文件
File f = new File(fileName);
f.delete();// 删除临时文件
return true;
}
else {
// 文件上传失败!
return false;
}
}
uploader = new Upload(request.getSession().getServletContext(), request, "gb2312", 200); // 上传文件
uploader.setSaveInTempFile(true);// 保存到临时文件
upMsg = uploader.save();
// 判断文件是否上传成功
if (upMsg.isSuccessful) {
files = uploader.getUploadedFiles();
upFile = (UploadedFile) files.get(0);
fileName = upFile.getAbsoluteFileName_Saved();// 得到文件路径
fr = new FileReader(fileName); // 创建FileReader对象
br = new BufferedReader(fr); // 创建BufferedReader对象
Line = br.readLine();// 从文件读取一行字符串
try {
// 判断读取到的字符串是否不为空
while (Line != null) {
ps = this.getConn().prepareStatement(insert);
// 字符串处理
String[] newline = SplitterString.getTokens(Line, "] [");
// 去除字符串头的"["号
String temp1 = newline[0].substring(1);
// 去除字符串尾的"]"号
String temp2 = newline[newline.length-1].substring(0, (newline[newline.length-1].length()-1));
//System.out.println(temp1 + " " + temp2);
//System.out.println(newline.length+" "+(newline.length-1)+" "+newline[newline.length-1]+" "+(newline[newline.length-1].length()-1)+" ");
ps.setString(1, temp1); // 插入第一个处理后的截取字符串
for (int i = 1; i < newline.length; i++) {
ps.setString(i + 1, newline[i]); // 插入中间处理后的截取字符串
}
ps.setString(newline.length, temp2); // 插入最后一个处理后的截取字符串
ps.executeUpdate();// 执行插入数据
Line = br.readLine();// 从文件中继续读取下一行数据
}
ps.close(); // 关闭preparedstatement
} catch (Exception ex) {
// TODO 自动生成 catch 块
ex.printStackTrace();
return false;
} finally {
try {
if (this.getConn() != null) {
this.getConn().close();// 关闭数据库连接
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
return false;
}
}
if (br != null) br.close();// 关闭BufferedReader对象
if (fr != null) fr.close();// 关闭文件
File f = new File(fileName);
f.delete();// 删除临时文件
return true;
}
else {
// 文件上传失败!
return false;
}
}
解决方案 »
- 加载applet时,需要密码验证?如何去除
- java7要发布了,大家来说说性特性吧
- 快去找工作(java)了,现在工作的哥哥姐姐们,请说说你们当时找工作的经验。谢谢!散100分。
- 在eclipse中运行applet程序显示图像不完全
- 如何通过java程序判断本机是否已连接至网络(Internet)
- 关于《Thinking in Java》中的源程序
- 在做加密算法。请教一个很初级的问题:怎么得到String的二进制代码?急!!
- k >>= 8;请问这句怎么理解?
- java编程的一些小问题,麻烦帮忙看看
- 怎么才能学要JAVA?/
- 急等!在线 请各位帮帮忙啊!
- 求教:Collection、Vector、Set、Map等各种集合类的特点和区别
居然出现这样的事?给你批改作业?有没有问题你自己试一下就知道了呀
就是要请教大家,要怎么样写才算逻辑清楚呢?