getResourceStream для записи файлов

Для джаваме.

Поскольку getResourceAsStream() предназначен для чтения файлов, существует ли эквивалент getResourceAsStream() для выходного потока/записи файлов?

Примечание: файл находится в папках проекта и вскоре будет упакован в jar-файл.


person cancelledout    schedule 18.06.2010    source источник
comment
Я уже ответил на этот вопрос в stackoverflow.com/questions/3058435/   -  person Romain Hippeau    schedule 18.06.2010


Ответы (4)


getResoureAsStream() имеет дело с ресурсами. Возврат выходного потока не имеет смысла, потому что это означает, что вы пытаетесь перезаписать свои ресурсы на лету.

Кроме того, для большинства ресурсов, находящихся в JAR или удаленных местах, вы все равно не можете писать в них.

person ZZ Coder    schedule 18.06.2010
comment
Что я хочу сделать, так это перезаписать файл внутри банки. Это возможно? - person cancelledout; 18.06.2010
comment
Нет. Вы не можете перезаписать файл внутри банки. Чтобы заменить что-либо, вы должны создать новую банку. - person ZZ Coder; 18.06.2010
comment
Вы можете записать файл в БД, если не хотите динамически загружать изображения в свое приложение. - person Vincent; 31.03.2011

В этом нет смысла.
Что получит getResourceAsStream, поскольку ресурса еще не существует?

Кроме того, getResourceAsStream обычно используется для доступа к файлу в JAR или WAR, вы не можете писать туда.

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

person Romain Hippeau    schedule 18.06.2010
comment
Спасибо за ответ. Вот почему мне интересно, есть ли эквивалент этому... что-то вроде setResourceAsStream? Я НЕ ЗНАЮ. Мне нужно написать в файл xml внутри банки. - person cancelledout; 18.06.2010
comment
@cancelledout Ничего не могу сделать. Посмотрите на множество сообщений, и вы увидите, что вы не можете изменить или удалить банку, если не создадите новую и не перезапишете старую. Вам нужно будет выбрать другой пункт назначения. Я уже ответил вам на этот вопрос в stackoverflow.com/questions/3058435/ - person Romain Hippeau; 18.06.2010

да. создайте объект File и затем вызовите getOutputStream для этого файлового объекта.

person Tobias P.    schedule 18.06.2010
comment
Класс FileConnection не распознает путь к файлу внутри папки или jar проекта. =Х - person cancelledout; 18.06.2010

FileOutputStream также доступен для java me.

FileOutputStream out = new FileOutputStream("output.txt");
out.write( ... );
person stacker    schedule 18.06.2010
comment
Я попробую это, как только вернусь в офис. Спасибо за ответ. :D - person cancelledout; 18.06.2010