2、使用javaAPI解决。这个方法简便,准确。经调研,java并没有可以直接使用的与escape()功能相同的函数,但是java中有个很强大的工具可以曲线实现这一功能,这个API就是javax.script.ScriptEngineManager。
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class java2js {
public static void main(String[] args) {
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
try{
//直接解析
Object res = engine.eval_r(" escape('朋友-周华健.mp3')");
System.out.println(res);
}catch(Exception ex){
ex.printStackTrace();
}
}
}
从以上寥寥几行代码即可使用java实现js的escape()函数,而且绝对不用担心有bug,个人认为这才是这个问题的最佳解决方案。