当前页面: 开发资料首页 → J2SE 专题 → 这段代码有逻辑方面的问题么? 50分 在线等
这段代码有逻辑方面的问题么? 50分 在线等
摘要: 这段代码有逻辑方面的问题么? 50分 在线等
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;
}
}
各位大哥,帮帮我吧
晕
居然出现这样的事?
给你批改作业?
有没有问题你自己试一下就知道了呀
运行一下不就知道了吗
不知道。
就这一个方法吗,你从哪找的,这么烂的代码怎么改啊,还不如重写呢
好乱啊。重写吧。一点都不清楚
我也觉得乱,但是主逻辑还是没有错的,运行可以通过
就是要请教大家,要怎么样写才算逻辑清楚呢?
不算乱阿,如果逻辑没问题,不用改用好了。
是不是把实现的功能模块分开才算逻辑清晰?