struts2上传下载工具类(创建文件夹及删除文件)

  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       * <param name="inputName">downloadFile</param>
 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.05
108     * @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 Api
135       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.05
150     * @param  file  ①原始文件
151     * @param  fileName ②文件名
152     * @param  rootPath 文件保存-根目录
153     * @param  userName 文件保存-用户目录名
154     * @param  fieldName 文件保存-文件夹名
155     * @return path  文件保存的路径
156     * @throws  Exception
157     */
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 Api
179      } 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 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。