目录

java-保存file_java保存文件

目录

java 保存file_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;

}

}