2012-02-21 12 views
2

エディター・ペインにHTMLファイルをロードして表示する際に問題が発生しました。EclipseフォルダーからのJava HTMLファイルのロード

window_pane = new JEditorPane("file:///assets/www/index.html"); 

しかし、それは単にいくつかのエラーを与えた:私は使用していたコードがある

Exception in thread "main" java.io.FileNotFoundException: \assets\www\index.html (Het systeem kan het opgegeven pad niet vinden) 
    at java.io.FileInputStream.open(Native Method) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source) 
    at javax.swing.JEditorPane.getStream(Unknown Source) 
    at javax.swing.JEditorPane.setPage(Unknown Source) 
    at javax.swing.JEditorPane.setPage(Unknown Source) 
    at javax.swing.JEditorPane.<init>(Unknown Source) 
    at nl.xedus.battlex.java.WebBrowser.<init>(WebBrowser.java:33) 
    at nl.xedus.battlex.java.WebBrowser.main(WebBrowser.java:72) 

スクリーンショット:

enter image description here

を誰も助けてくださいことはできますか?

答えて

3

ファイルURLの相対パスのようです。絶対パスを使用する必要があります。お使いのアプリケーションにバンドルされたリソースのためにあなたは、このようなURLを取得することができます:

final String resourcePath = "foobar.html"; 
URL resourceURL = Thread.currentThread().getContextClassLoader().getResource(resourcePath); 
JEditorPane editorPane = new JEditorPane(resourceURL); 

これは、あなたのクラスパスのルートに「foobar.html」という名前のHTMLファイルがあることを前提としています。必要に応じて擬似コードを拡張します。

+0

資産/ www/index.htmlのようなものが試されましたが、失敗したものもあります。 – Dallox

+0

@Dallox - これも相対URLです。 Unixの場合、絶対パスは '/'または '/ home'(またはMacでは'/Users')で始まります。 Windowsでは 'C:\'のようなドライブ文字で始まります。 – Perception

+0

しかし、htmlファイルをjarファイル(eclipseを使って)でコンパイルする必要があります。どうすればそこに絶対パスを渡すことができますか? – Dallox

関連する問題