public static void main(String[] args) throws Exception{
if (args.length != 2){
System.out.println("Please enter feed file");
return;
}
String feedFileName = args[0];
String logFileName = args[1];
ObjectInputStream in = new ObjectInputStream(new FileInputStream(feedFileName));
File file = new File(logFileName);
if (file.exists()){
file.delete();
}
FileOutputStream out = new FileOutputStream(logFileName);
PrintWriter log = new PrintWriter(out);
try{
ArrayList arrayList = (ArrayList)in.readObject();
for (int i = 0 ; i < arrayList.size() ; i++){
PAReportUploadInfoVO paReportUploadInfoVO = (PAReportUploadInfoVO)arrayList.get(i);
try{
HttpClient client = new HttpClient();
PostMethod m = new PostMethod(url);
prepare(m, paReportUploadInfoVO);
int rc = client.executeMethod(m);
BufferedReader r = new BufferedReader(new InputStreamReader(m.getResponseBodyAsStream()));
String reply;
boolean hasError = true;
while ((reply = r.readLine()) != null){
if (reply.equals("OK")){
hasError = false;
break;
}
}
if (hasError){
log.write((new Date()).toString() + " ERROR in sending PA report branch(" + paReportUploadInfoVO.getFileName() + " , AgentCod : " + paReportUploadInfoVO.getAgentCode()+")\n");
}
} catch (Exception e){
log.write((new Date()).toString() + " ERROR in sending PA report branch(" + paReportUploadInfoVO.getFileName() + ")");
e.printStackTrace(log);
}
}
} catch (Exception e){
e.printStackTrace(log);
}
log.close();
}
protected static void prepare(PostMethod method, PAReportUploadInfoVO paReportUploadInfoVO) throws Exception{
List parts = new ArrayList();
parts.add(new StringPart("agent_code", paReportUploadInfoVO.getAgentCode()));
parts.add(new StringPart("report_code", paReportUploadInfoVO.getReportCode()));
parts.add(new StringPart("report_name", paReportUploadInfoVO.getReportName()));
parts.add(new StringPart("user", paReportUploadInfoVO.getAgentName()));
parts.add(new StringPart("upload_dir", paReportUploadInfoVO.getUploadDir()));
parts.add(new FilePart("report", new File(paReportUploadInfoVO.getFileName())));
//commons-httpclient-3.0-rc2.jar
//public class org.apache.commons.httpclient.methods.multipart.FilePart extends org.apache.commons.httpclient.methods.multipart.PartBase
//public class org.apache.commons.httpclient.methods.multipart.StringPart extends org.apache.commons.httpclient.methods.multipart.PartBase
MultipartRequestEntity mre = new MultipartRequestEntity((Part[])parts.toArray(new Part[parts.size()]), method.getParams());
method.setRequestEntity(mre);
}
本文介绍了一个使用Java实现的批量文件上传处理程序。该程序通过读取特定格式的文件列表,并利用HTTP客户端逐个发送这些文件到指定服务器进行上传。文章详细展示了如何构建HTTP请求、处理服务器响应以及记录错误的日志。
8877

被折叠的 条评论
为什么被折叠?



