Witam
Wyodbrebnilem zalaczniki z wiadomosci email. Teraz mam kilka zmiennych typu InputStream przechowywujacych zawartosc owych zalacznikow.
Aby to wsadzic do bazy danych poprzez JPA musze miec obiekt SerialBlob. Utworzyc go mozna podajac w konstruktorze tablice byte[]. Ale teraz jak stworzyc taka tablice z obiektu InputStream? Przeszukalem rozne klasy IO odpowiedzialne za czytanie danych ale nigdzie nie ma funkcji, ktora zwracala by tablice byte[].
Jak to zrobic? Moze za bardzo motam i istnieje jakis inny sposob na pobranie zalacznika w innej formie niz InputStream?
Ok problem polowicznie rozwiazany.
Tzn wiem jak utworzyc obiekt SerialBlob, zapisac i odczytac z niego dane. Problemem jest natomiast wyjatek:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at javax.sql.rowset.serial.SerialBlob.<init>(SerialBlob.java:83)
at testy.Iotest.main(Iotest.java:42)
Chce zapisywac w bazie pliki do 200 Mb. A problem z pamiecia wystepuje juz przy kilku Mb. Co moge z tym zrobic?