class="java">package com.singlee.util; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import org.apache.commons.io.FileUtils; /** * 保存文件到服务器 * * @author mingzl * */ public class SaveFile { /** * 改名称的方法,(新名称=原名称+_+年月日时分秒时间+_+八位随机数) * * @param oldname * 原名称 * @return newName 新名称 */ public String changName(String oldName) { // 第一步:得到系统时间 SimpleDateFormat ff = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss"); Date d = new Date(); String time = ff.format(d); // 第二步:得到一个随机数 int rad = new Random().nextInt(900000000); // 第三步:得到原文件的后缀名如:.jpg .doc .txt String lastName = oldName.substring(oldName.lastIndexOf(".")); // 第四步:拼装新名(保证唯一性) String newName = oldName + "_" + time + "_" + rad + lastName; System.out.println("文件新名称:" + newName); return newName; } /** * 保存文件 * * @param file * 保存的文件 * @param filename * 保存文件的名称(参考) * @param savepath * 文件保存的路径 * @param saveasnewname * 是否以新名字保存 * @return boolean (true:保存成功;false:保存失败) */ public boolean save(File file, String filename, String savepath, boolean saveasnewname) { filename = saveasnewname ? changName(filename) : filename; File f = new File(savepath, filename); try { FileUtils.copyFile(file, f); } catch (IOException e) { e.printStackTrace(); return false; } return true; } }
?