package com.chinasoft.action;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class SaveFile extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -4303075894481781406L;
private static final int BUFFER_SIZE = 16 * 1024;
private File saveFile;
private String saveFileFileName;
private String saveFileContentType;
public File getSaveFile() {
return saveFile;
}
public void setSaveFile(File saveFile) {
this.saveFile = saveFile;
}
public String getSaveFileFileName() {
return saveFileFileName;
}
public void setSaveFileFileName(String saveFileFileName) {
this.saveFileFileName = saveFileFileName;
}
public String getSaveFileContentType() {
return saveFileContentType;
}
public void setSaveFileContentType(String saveFileContentType) {
this.saveFileContentType = saveFileContentType;
}
/**
* 复制文件
* @param src
* @param dsc
*/
private static void copy(File src,File dsc){
InputStream in=null;
OutputStream out=null;
try {
in=new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE);
out=new BufferedOutputStream(new FileOutputStream(dsc),BUFFER_SIZE);
byte[] buffer=new byte[BUFFER_SIZE];
while(in.read(buffer)>0){
out.write(buffer);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(in!=null){
in.close();
}
if(out!=null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 获取文件的扩展名
* @param fileName
* @return
*/
@SuppressWarnings("unused")
private static String returnExtension(String fileName){
int pos=fileName.lastIndexOf(".");
return fileName.substring(pos);
}
/**
* 文件上传
* @return
*/
public String saveFile(){
this.saveFileFileName=new Date().getTime()+returnExtension(this.saveFileFileName);
File filePath=new File(ServletActionContext.getServletContext().getRealPath("/uploadFiles"));//获取服务器路径,而不是本地路径
if(!filePath.exists()){
filePath.mkdir();
}
File uploadFile=new File(filePath+"/"+this.saveFileFileName);
copy(this.saveFile, uploadFile);
return "success";
}
public static void main(String[] args) {
String string="abc.jps";
System.out.println(returnExtension(string));
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class SaveFile extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -4303075894481781406L;
private static final int BUFFER_SIZE = 16 * 1024;
private File saveFile;
private String saveFileFileName;
private String saveFileContentType;
public File getSaveFile() {
return saveFile;
}
public void setSaveFile(File saveFile) {
this.saveFile = saveFile;
}
public String getSaveFileFileName() {
return saveFileFileName;
}
public void setSaveFileFileName(String saveFileFileName) {
this.saveFileFileName = saveFileFileName;
}
public String getSaveFileContentType() {
return saveFileContentType;
}
public void setSaveFileContentType(String saveFileContentType) {
this.saveFileContentType = saveFileContentType;
}
/**
* 复制文件
* @param src
* @param dsc
*/
private static void copy(File src,File dsc){
InputStream in=null;
OutputStream out=null;
try {
in=new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE);
out=new BufferedOutputStream(new FileOutputStream(dsc),BUFFER_SIZE);
byte[] buffer=new byte[BUFFER_SIZE];
while(in.read(buffer)>0){
out.write(buffer);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(in!=null){
in.close();
}
if(out!=null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 获取文件的扩展名
* @param fileName
* @return
*/
@SuppressWarnings("unused")
private static String returnExtension(String fileName){
int pos=fileName.lastIndexOf(".");
return fileName.substring(pos);
}
/**
* 文件上传
* @return
*/
public String saveFile(){
this.saveFileFileName=new Date().getTime()+returnExtension(this.saveFileFileName);
File filePath=new File(ServletActionContext.getServletContext().getRealPath("/uploadFiles"));//获取服务器路径,而不是本地路径
if(!filePath.exists()){
filePath.mkdir();
}
File uploadFile=new File(filePath+"/"+this.saveFileFileName);
copy(this.saveFile, uploadFile);
return "success";
}
public static void main(String[] args) {
String string="abc.jps";
System.out.println(returnExtension(string));
}
}