2014-10-07 2 views

ответ

4

Нет, вам не разрешено это делать, потому что если приложение будет сгруппировано в какой-то момент, вы никогда не узнаете, в каком месте были сохранены ваши файлы. Таким образом, манипулирование файлами в среде Java EE довольно небезопасно.

Способ сделать это безопасно будет, вероятно, иметь службу в JNDI, который будет заботиться о вашем сериализации объекта - см пример

ByteArrayOutputStream baos= new ByteArrayOutputStream(); 
ObjectOutputStream oos = new ObjectOutputStream(baos); 
oos.writeObject(myObj); 

new InitialContext().bind("path/to/FileManipulator", baos.toByteArray()); 

Смотрите также this ответ для дальнейшего объяснения. Также here - это статья, в которой описывается, что спецификация говорит об использовании java.io в EJB.

+0

+1 для объяснения причин, почему это небезопасно. Не могли бы вы привести пример доступа к файлам в среде Java EE? Есть ли безопасный способ сделать это? –