因为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之前 导包使用。