Естественно, вы не можете использовать FileInputStream
для этого, FileInputStream
для чтения файлов , и вы не можете получить доступ к локальной файловой системе в неподписанном апплете. Ваши ресурсы доступны через сеть, а не в виде файлов. Если ваш апплет подписан , код, который вы процитировали, будет искать файл "details.txt" в текущем каталоге рабочего пользователя в его файловой системе, а не обязательно в каталоге, содержащем файл класса.
Вы можете загрузить ресурсы из jar, в котором находится класс апплета, используя Class#getResource
, чтобы получить URL
, который вы можете открыть, или используя Class#getResourceAsStream
, чтобы сделать это. все в одном. Так, например, этот код в методе экземпляра в апплете откроет InputStream
для файла «details.txt» в том же каталоге в jar, что и файл апплета class
:
InputStream is = getClass().getResourceAsStream("details.txt");
Я знаю, что это работает на ресурсы в банке. Работает ли это для других ресурсов в той же кодовой базе, я не могу сказать, я всегда собираю все в банку. См. Также этот связанный вопрос (и его ответы).
Итак, два шага: поместите файл в банку и используйте приведенный выше код для извлечения его содержимого.