Запись JApplet в текстовый файл, destroy () / stop () - PullRequest
0 голосов
/ 04 апреля 2011

Я пытаюсь написать JApplet, который использует информацию в текстовом файле для загрузки и сохранения данных. Я успешно получил апплет для загрузки информации, но при сохранении возникают проблемы. Я включил код для сохранения ниже. имя файла, которое я использую, такое же, как и для записи. Файл должен быть включен в JAR, когда я запускаю, потому что апплет инициализируется должным образом. Есть ли причина, почему письмо не работает должным образом? я прибег к вызову этого метода из методов stop () и destroy ().

Как примечание, загрузка и сохранение отлично работают при запуске из затмения, но когда в JAR работает только загрузка, но ничего не сохраняется, поэтому я не могу изменить данные загрузки.

В идеале, я хочу, чтобы этот метод saveLocations () вызывался всякий раз, когда страница закрыта или обновлена.

ПРИМЕЧАНИЕ: mOUtputStream действительно является PrintWriter (раньше это был OutputStream, наверное, мне следует сменить имя)

Заранее большое спасибо за помощь.


private void saveLocations() throws IOException {
        //JOptionPane.showMessageDialog(null, "Alert", "Saving", JOptionPane.INFORMATION_MESSAGE);
        // System.out.println("saving!");
        try {
            mOutputStream = new PrintWriter(new File(getClass().getResource("/listings/saveData.txt").toURI()));
        }
        catch (URISyntaxException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        //System.out.println(locations.size());
        for (Location l : locations) {
            System.out.println("r: " + l.getRawListing());
            mOutputStream.print(l.getRawListing()+ "\n");
        }


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

    }

1 Ответ

2 голосов
/ 04 апреля 2011

Вы не можете записать в файл внутри файла JAR - точка. Даже не пытайся. Если вам нужно записать в файл, то этот файл должен быть вне JAR. Для апплета, который потребовал бы, чтобы он был подписан, и запрашивал у пользователя конкретное разрешение на это.

В случае с апплетом я не уверен, в какую копию файла JAR вы надеетесь записать: копию в кеше браузера или копию на сервере? В любом случае, этого не произойдет.

...