因爲JDK中的/lib/tool.jar和/lib/rt.jar已經從Java SE 9中刪除
而可以使用 java.util.Base64.Encoder 和 java.util.Base64.Decoder 替代使用
import java.util.Base64;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class DownLoadUtils {
public static String getFileName(String agent, String filename) throws UnsupportedEncodingException {
if (agent.contains("MSIE")) {
// IE瀏覽器
filename = URLEncoder.encode(filename, "utf-8");
filename = filename.replace("+", " ");
} else if (agent.contains("Firefox")) {
// 火狐瀏覽器
//jdk8之後
Base64.Encoder base64Encoder = Base64.getEncoder();
filename = "=?utf-8?B?" + base64Encoder.encodeToString(filename.getBytes("utf-8")) + "?=";
//jdk8以及jdk8之前
BASE64Encoder base64Encoder = new BASE64Encoder();
filename = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?=";
} else {
// 其它瀏覽器
filename = URLEncoder.encode(filename, "utf-8");
}
return filename;
}
}
jdk爲1.8版本及之前版本,刪除jdk8之後導包使用。
jdk爲1.9版本及之後版本,刪除 jdk8以及jdk8之前 導包使用。