Java IOException仅在运行新的Java 1.6时 - 有人请

时间:2008-12-12 01:11:58

标签: java windows-xp ioexception

升级到XP和Java 1.6后,我们的一个内部网应用程序在浏览器中运行java applet时遇到问题。 java applet是一个文档编辑器,接受文档所在位置的参数。我假设它将此文件复制到用户计算机进行编辑。我希望我知道更多,但我没有源......坝!

我们在运行XP-IE6-Java 1.6的机器上获得了java.io.IOException。在我们的旧版Win2K-IE6-Java 1.3上不会发生这个问题,因此我们确定它与桌面隔离,而不是服务器(99%肯定无论如何)。

一点信息:如果你尝试连续两次运行applet,它会第二次运行。第一次失败。此外,在浏览器中嵌入橙色java加载徽标之前,将显示错误消息框。

我还在策略文件中输入了以下信息,并通过控制台重新加载了策略文件。

grant codeBase "http://intranetserver/*" {
    permission java.security.AllPermission; 
};

这是堆栈跟踪的转储。谢谢你的时间: - )

java.io.IOException: Write error
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(Unknown Source)
    at com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument(HTMLDocumentLoader.java:94)
    at com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument(HTMLDocumentLoader.java:113)
    at com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument(HTMLDocumentLoader.java:126)
    at com.docscience.dlstools.browser.editor.dsBrowserEditor.loadPage(dsBrowserEditor.java:1623)
    at com.docscience.dlstools.browser.editor.dsBrowserEditor.loadFile(dsBrowserEditor.java:1873)
    at com.docscience.dlstools.browser.editor.dsBrowserEditor.(dsBrowserEditor.java:201)
    at com.docscience.dlstools.browser.editor.DLSBrowserEditor.init(DLSBrowserEditor.java:38)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

4 个答案:

答案 0 :(得分:1)

我解决了这个问题。关闭java控制面板中的临时文件。

答案 1 :(得分:0)

你说你从Java v1.3直接转到Java 1.6,你有没有机会用Java 1.4或1.5测试它?更多上下文信息在这里会有所帮助。

答案 2 :(得分:0)

您的代码是否已签名,或者您是否依赖于策略文件中的设置?

我记得签名代码遇到了类似的问题。我记不起确切的情况,但事实证明,Java控制台中的revocation check (or maybe OCSP) setting(Tab Advanced,Section Security)在启用时在第一个applet启动时引起了一些问题。 SUN声明默认情况下它们都被禁用,因此除非您明确启用该设置,否则不会遇到该问题。

你可能看看并禁用它们,也许它可以解决问题,虽然可能不需要禁用撤销检查。

答案 3 :(得分:0)

如果您反编译并查看HttpURLConnection的源代码,您将看到写入HTTP缓存时发生异常。请参阅此处的文档: http://java.sun.com/javase/6/docs/technotes/guides/net/http-cache.html

您可能必须使用调试器来查看其中究竟发生了什么以及原因是什么。