1. 程式人生 > >Java學習---下載文件並且對文件編碼

Java學習---下載文件並且對文件編碼

-s exceptio down auto cep param byte smart encoder

import java.io.IOException;
import java.net.URLEncoder;

import sun.misc.BASE64Encoder;

public class FileUtils {
        /**
         * 下載文件時,針對不同瀏覽器,進行附件名的編碼
         * 
         * @param filename
         *            下載文件名
         * @param agent
         *            客戶端瀏覽器
         * @return 編碼後的下載附件名
         * @throws IOException
         */
        public static String encodeDownloadFilename(String filename, String agent)
                throws IOException {
            if (agent.contains("Firefox")) { // 火狐瀏覽器
                filename = "=?UTF-8?B?"
                        + new BASE64Encoder().encode(filename.getBytes("utf-8"))
                        + "?=";
                filename = filename.replaceAll("\r\n", "");
            } else { // IE及其他瀏覽器
                filename = URLEncoder.encode(filename, "utf-8");
                filename = filename.replace("+"," ");
            }
            return filename;
        }
}

Java學習---下載文件並且對文件編碼