Bea*_*ear 6 windows unicode runtime.exec
我想启动浏览器并使用Java的Runtime exec加载网页.确切的调用如下所示:
String[] explorer = {"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",
"-noframemerging",
"C:\\ ... path containing unicode chars ... \\Main.html"};
Runtime.getRuntime().exec(explorer);
Run Code Online (Sandbox Code Playgroud)
在我的例子中,路径包含"\u65E5\u672C\u8A9E",字符日本语.
显然这是一个java bug:http: //bugs.sun.com/bugdatabase/view_bug.do?video_id = 4947220
我的问题是:是否有可行的解决方法可以单独使用Java完成?看来可以为此编写一个JNI库,但是如果可能的话我想避免使用它.我尝试将路径URI编码为ascii并将命令写入批处理文件,但没有成功.
这是我考虑的两个解决方案,每个都或多或少是解决方法:
创建一个临时 html 重定向文件,该文件会将浏览器重定向到正确的页面。请注意,IE 期望本地文件使用未编码的 unicode,而其他浏览器可能只接受 uri 编码的文件路径
使用 Windows 文件的短文件名。它不会包含 unicode 字符。
| 归档时间: |
|
| 查看次数: |
3918 次 |
| 最近记录: |