1

.javaファイルとともにeclipseパッケージにあるローカルテキストファイルから保存されたデータをロードする必要があるアプレットがあります。この質問で使用する場合、その名前は「saveData.txt」です。

アプレットを日食に通すと、すべてが完全に機能します。ただし、(txtファイルと.classpathファイルが含まれていることを確認して)jarファイルを作成し、Webサイトに配置すると、アプレットの読み込みに失敗します。InputStreamReaderで不明なソースのエラーが発生します。以下に、ロードと保存のためのコードを含めました。エラーは、InputStreamReader行の作成時に発生します。

私が台無しにしたアイデアはありますか?

private ArrayList loadLocations() throws IOException{
        ArrayList locations = new ArrayList();
        InputStream is = getClass().getResourceAsStream("\saveData.txt");

            ;; BELOW LINE is where exception is thrown
            InputStreamReader isr = new InputStreamReader(is);
    mInputStream = new BufferedReader(isr);
    String line = mInputStream.readLine();

    while (line != null && !(line.equals(""))) {
        locations.add(new Location(line));

        line = mInputStream.readLine();
    }
    if (mInputStream != null)
        mInputStream.close();   

    Collections.sort(locations);

    return locations;
}

private void saveLocations() throws IOException {
    try {
        mOutputStream = new PrintWriter(new File(getClass().getResource("\\saveData.txt").toURI()));
    }
    catch (URISyntaxException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    ;
    for (Location l : locations) {
        mOutputStream.print(l.getRawListing()+ "\n");
    }


    if (mOutputStream != null)
        mOutputStream.close();

}

完全なエラーの詳細(ブラウザで実行した場合)

Javaプラグイン1.6.0_24
JREバージョン1.6.0_24-b07JavaHotSpot(TM)クライアントVMの使用
ユーザーのホームディレクトリ=C:\ Users \ Ross
-------------------------------------------------- - 
c:コンソールウィンドウをクリアする
f:ファイナライズキューでオブジェクトをファイナライズします
g:ガベージコレクト
h:このヘルプメッセージを表示する
l:クラスローダーリストをダンプします
m:印刷メモリ使用量
o:ログをトリガーします
q:コンソールを非表示
r:ポリシー構成をリロードします
s:ダンプシステムとデプロイメントプロパティ
t:スレッドリストをダンプします
v:スレッドスタックをダンプします
x:クラスローダーキャッシュをクリアする
0-5:トレースレベルをに設定
-------------------------------------------------- - 


java.lang.reflect.InvocationTargetException
    com.sun.deploy.util.DeployAWTUtil.invokeAndWait(不明なソース)で
    sun.plugin2.applet.Plugin2Manager.runOnEDT(不明なソース)で
    sun.plugin2.applet.Plugin2Manager.createApplet(不明なソース)で
    sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(不明なソース)
    java.lang.Thread.run(不明なソース)で
原因:java.lang.NullPointerException
    java.io.Readerで。(不明なソース)
    java.io.InputStreamReaderで。(不明なソース)
    Listings.listings.loadLocations(listings.java:624)で
    Listings.listings.setup(listings.java:667)で
    Listings.listingsで。(listings.java:59)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)で
    sun.reflect.NativeConstructorAccessorImpl.newInstance(不明なソース)で
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(不明なソース)で
    java.lang.reflect.Constructor.newInstance(不明なソース)で
    java.lang.Class.newInstance0(不明なソース)で
    java.lang.Class.newInstance(不明なソース)で
    sun.plugin2.applet.Plugin2Manager $ 12.run(不明なソース)
    java.awt.event.InvocationEvent.dispatch(不明なソース)で
    java.awt.EventQueue.dispatchEventImpl(不明なソース)で
    java.awt.EventQueue.access $ 000(不明なソース)で
    java.awt.EventQueue $ 1.run(不明なソース)で
    java.awt.EventQueue $ 1.run(不明なソース)で
    java.security.AccessController.doPrivileged(ネイティブメソッド)で
    java.security.AccessControlContext $ 1.doIntersectionPrivilege(不明なソース)で
    java.awt.EventQueue.dispatchEvent(不明なソース)で
    java.awt.EventDispatchThread.pumpOneEventForFilters(不明なソース)で
    java.awt.EventDispatchThread.pumpEventsForFilter(不明なソース)で
    java.awt.EventDispatchThread.pumpEventsForHierarchy(不明なソース)で
    java.awt.EventDispatchThread.pumpEvents(不明なソース)で
    java.awt.EventDispatchThread.pumpEvents(不明なソース)で
    java.awt.EventDispatchThread.run(不明なソース)で
例外:java.lang.reflect.InvocationTargetException
4

0 に答える 0