1 package util.zl; 2 3 import java.io.File; 4 import java.io.FileNotFoundException; 5 import java.io.IOException; 6 import java.io.InputStream; 7 8 import org.apache.commons.io.FileUtils; 9 import org.apache.struts2.ServletActionContext; 10 11 import com.opensymphony.xwork2.ActionSupport; 12 13 14 public class file extends ActionSupport{ 15 16 17 /** 18 * @author 文件下载 19 * @getDownloadFile 20 * 此方法对应的是struts.xml文件中的: 21 * downloadFile 22 * 返回下载文件的流,可以参看struts2的源码 23 * @param path 文件保存-根目录名 24 * @param userName 文件保存-用户目录名 25 * @param fileName 26 * @return 27 * @throws FileNotFoundException 28 */ 29 public static InputStream getDown(String path,String fileName) throws FileNotFoundException 30 { 31 32 String pathstr=path+"/"+fileName; 33 34 return new java.io.FileInputStream(pathstr); 35 } 36 37 /** 38 * @author 推荐使用方法 39 * @param path 文件保存目录(包括文件名) 40 * @return 41 * @throws FileNotFoundException 42 */ 43 public static InputStream getDown(String path) 44 { 45 String pathstr=path; 46 InputStream input = null; 47 try { 48 input = new java.io.FileInputStream(pathstr); 49 } catch (FileNotFoundException e) { 50 // TODO Auto-generated catch block 51 e.printStackTrace(); 52 } 53 return input; 54 } 55 56 /** 57 * @author 文件夹的建立 58 * @param rootPath 59 * @param userName 60 * @param field_name 61 * @return 62 * @throws Exception 63 */ 64 public static String createFiled(String rootPath,String userName, String field_name) throws Exception { 65 66 String path=rootPath+userName+"\\"+field_name; 67 System.out.println("文件夹路径:"+path); 68 69 File Filed = null; 70 try { 71 Filed = new File(path); 72 } catch (Exception e) { 73 74 e.printStackTrace(); 75 } 76 77 if(!Filed.exists()){ 78 79 Filed.mkdir();//建立新文件(destFile)的父目录 80 } 81 return path; 82 } 83 84 85 /**删除文件*/ 86 public static String dropFiled(String rootPath) throws Exception { 87 88 String path=rootPath; 89 File Filed = null; 90 try { 91 Filed = new File(path); 92 } catch (Exception e) { 93 94 e.printStackTrace(); 95 } 96 97 if(Filed.exists()){ 98 99 Filed.delete();//删除文件(destFile)的父目录100 }101 return path;102 }103 104 105 106 /**107 * @author 推荐使用-自定义目录( d:\\admin\\20101105\\*.*) 2010.11.05108 * @param file ①原始文件109 * @param fileName ②文件名110 * @param rootPath 文件保存-根目录111 * @param userName 文件保存-用户目录名112 * @param fieldName 文件保存-文件夹名113 * @return path 文件保存全路径(包括文件名)114 * @throws Exception 115 */116 public static String saveFile( File file,String fileName,String rootPath,String userName, String fieldName) {117 118 System.out.println("正在保存文件:filename:"+fileName);119 120 // String path = ServletActionContext.getServletContext().getRealPath("d:/gggg/"+username+"/"+field_name);121 122 String path=rootPath+userName+"/"+fieldName+"/"; 123 String filePath=path+fileName;124 125 if(file!=null){126 127 File newFile=new File(new File(path),fileName);128 129 if(!newFile.getParentFile().exists()){ 130 131 newFile.getParentFile().mkdir(); 132 }133 try {134 FileUtils.copyFile(file, newFile); //Struts2 Api135 System.out.println("文件保存路径"+filePath);136 } catch (IOException e) {137 e.printStackTrace();138 System.out.println("文件保存出错");139 } 140 141 }142 else 143 System.out.println("没有文件可以保存!");144 145 return filePath;146 }147 148 /**149 * @author 项目所在目录( /admin/20101105/*.*) 2010.11.05150 * @param file ①原始文件151 * @param fileName ②文件名152 * @param rootPath 文件保存-根目录153 * @param userName 文件保存-用户目录名154 * @param fieldName 文件保存-文件夹名155 * @return path 文件保存的路径156 * @throws Exception157 */158 public static String saveFile2( File file,String fileName,String rootPath,String userName, String fieldName) {159 160 System.out.println("正在保存文件:filename:"+fileName);161 162 //String path = ServletActionContext.getServletContext().getRealPath("/"+userName+"/"+fieldName+"/");163 164 // String path="d:\\xtwcoalupload\\gggg\\"+username+"\\"+field_name;165 166 String path=ServletActionContext.getServletContext().getRealPath(rootPath+"//"+fieldName+"//"); 167 String filePath=path+"\\"+fileName;168 169 if(file!=null){170 171 File newFile=new File(new File(path),fileName);172 173 if(!newFile.getParentFile().exists()){ 174 175 newFile.getParentFile().mkdir(); 176 }177 try {178 FileUtils.copyFile(file, newFile); //Struts2 Api179 } catch (IOException e) {180 e.printStackTrace();181 } 182 System.out.println("文件保存路径"+path);183 }184 else 185 System.out.println("没有文件可以保存!");186 187 return filePath;188 }189 190 }