1、分隔符
public String saveFile(File file,String newname,String getname){
if (file!=null) {String filename=newname+GenerateDistinctFileName(getname);
Properties prop = new Properties(System.getProperties());String sep=prop.getProperty("file.separator"); 红色部分是根据系统(如linux和windows的分隔符)
log.debug("MemberUploadAction:"+sep);String path = ServletActionContext.getServletContext().getRealPath(
Constant.FILE_PATCH)+sep+Upd;
log.debug("MemberUploadAction:"+path);
if(saveFile(file, path, filename,newname,getname))
//this.realpath=path+"\\"+filename;
return filename;
}
return null;
}
// 保存文件,成功后返回保存路径,失败返回null
public boolean saveFile(File file, String path, String filename,String newname,String getname) {
try {
if (file != null) {
InputStream is = new FileInputStream(file);
File checkpath = new File(path);
log.debug(checkpath.getPath());
//判断路径是否存在。如果不存在则创建
if (!checkpath.exists())
{
checkpath.mkdir();
}
String separator = File.separator;
String str = path + separator + filename; 红色部分是根据系统类型(如windows和linux)将文件存储到系统中
File outfile = new File(str);
log.debug(outfile.getPath());
OutputStream os = new FileOutputStream(outfile);
byte[] buffer = new byte[400];
int length = 0;
while ((length = is.read(buffer)) != -1) {
os.write(buffer, 0, length);
}
is.close();
os.close();
//保存对象到SESSION
pisaveSession(filename,path,newname,getname);
saveSession(filename,path,newname,getname);
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
System.out.println("file name is :" + filename);
return true;
}