文件下载,可解决下载时各种异常及乱码,空格变+号(1)
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.Properties;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.codec.binary.Base64;import org.apache.commons.lang.xwork.StringUtils;public class DownloadFileUtils {//文件存放的目录public static String saveFileURL;/** * 根据上传文件获取其真实读取路径 * @param response * @param downloadRealName * 服务器端文件的实际名字 * @param fileSource * 服务器端存放文件的目录 * @param fileSrcName * 存放文件的文件夹 * @param fileName * 下载后文件的名字 * @return * @throws IOException */public static String downloadFile(HttpServletRequest request,HttpServletResponse response,String downloadRealName, String fileSrcName, String fileName) {InputStream fis = null;OutputStream toClient = null;try {String path = saveFileURL+ "\\"+fileSrcName+ "\\"+downloadRealName+fileName.substring(fileName.lastIndexOf("."), fileName.length());System.out.println("downloadPath----->" + path);File file = new File(path); if (!file.exists()) { return null; }