1、文件操作:
/**
* 上传资质文件到服务器
* @return
* @throws Exception
*/
public void vendorArchivesUpload() throws Exception{
String url = this.getConditionMap().get("fileValue"); //获取文件路径
int len = url.lastIndexOf('\\'); //获取'\'最后出现的位置
String name = url.substring(len+1); //截取文件名
?
Calendar date = Calendar.getInstance(); //创建时间对象
String dest = "E:\\File\\"+date.get(Calendar.YEAR)+(date.get(Calendar.MONTH)+1)+date.get(Calendar.DATE)+
date.get(Calendar.HOUR_OF_DAY)+date.get(Calendar.MINUTE)+date.get(Calendar.SECOND)+"-"+name;
?
copyFile(url,dest); //调用自定义方法,进行文件的复制
?
?
?
String url1 = "E:\\File\\0附件.txt";
String url = "E:/File/0附件.txt";
int len = url.lastIndexOf('/'); //获取'/'最后出现的位置
String path = url.substring(0,len); //获取文件目录
String name = url.substring(len+1); //截取文件名
delFile(path,name); //调用自定义方法,进行文件的删除
}
?
2、复制文件:
/** 以文件流的方式复制文件?
* @param url 文件源目录?
* @param dest 文件目的目录?
* @throws IOException?
*/?
public void copyFile(String url,String dest) throws IOException{?
FileInputStream in=new FileInputStream(url);?
File file=new File(dest);?
if(!file.exists()) {
file.createNewFile();?
}
FileOutputStream out=new FileOutputStream(file);?
int c;?
byte buffer[]=new byte[1024];?
while((c=in.read(buffer))!=-1){
for(int i=0;i<c;i++) {
out.write(buffer[i]);?
}
}?
in.close();?
out.close();?
}?
?
3、删除文件:
/**删除文件
* @param path 目录?
* @param filename 文件名?
*/?
public void delFile(String path,String filename){?
File file=new File(path+"/"+filename);?
if(file.exists()&&file.isFile())?
file.delete();?
}
?
4、下载文件:
/**
* 自定义方法:下载附件
* @param path 文件在服务器上的地址;例如:E:\DownloadFile\2012-10-13\20120909121201234.txt
* @param filename 文件名;例如:小说.txt
*/?
public void downloadFile(String path,String fileNames) ?throws IOException{?
HttpServletResponse response = null;
?try {
? response = ServletActionContext.getResponse();
? // path是指欲下载的文件的路径。
? File file = new File(path);
? // 取得文件名。
? String filename = file.getName();
? // 取得文件的后缀名。
? String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
? String name = fileNames+"."+ext;
?
? // 以流的形式下载文件。
? InputStream fis = new BufferedInputStream(new FileInputStream(path));
? byte[] buffer = new byte[fis.available()];
? fis.read(buffer);
? fis.close();
? // 清空response
? response.reset();
??
? // 设置response的Header;name.getBytes()中name为下载时默认的文件名
? response.setHeader("Content-Type", "application/octet-stream");
? response.addHeader("Content-Disposition", "attachment;filename="
? ? + new String(name.getBytes(), "ISO8859-1"));
? response.addHeader("Content-Length", "" + file.length());
? OutputStream toClient = response.getOutputStream();
?
? toClient.write(buffer);
? toClient.flush();
? toClient.close();
?} catch (IOException ex) {
?logger.debug("vendorArchivesDownload:", ex);
?}
System.out.println("下载成功。。。。。。。。。");
}