Gdy chcę napisać całą zawartość pliku do o OutputStream
, zwykle przydziela bufor jako byte[]
, a następnie dokonać for
pętli read
danych z pliku na InputStream
do bufora i zapis zawartości bufora do OutputStream
, do momentu, gdy InputStream
nie ma więcej bajtów.Czy istnieje lepszy sposób zapisu pełnej zawartości pliku do OutputStream?
Wydaje mi się to dość niezdarne. Czy jest lepszy sposób to zrobić?
Ponadto, zawsze jestem pewien rozmiaru bufora. Zazwyczaj przydzielam 1024 bajty, ponieważ po prostu dobrze się czuję. Czy istnieje lepszy sposób określenia rozsądnego rozmiaru bufora?
W moim bieżącym przypadku chcę skopiować pełną zawartość pliku do strumienia wyjściowego, który zapisuje zawartość odpowiedzi HTTP. Nie jest to więc kwestia kopiowania plików w systemie plików.
W jaki sposób mój test jednostki może sprawdzić, co jest zapisywane w OutputStream? ServletOutputStream mockOutput = mock (ServletOutputStream.class); \t \t when (response.getOutputStream()). ThenReturn (mockOutput); –