Strumienie w Javie - cheat sheet
Jednym z częściej spotykanych przeze mnie problemów w Javie jest ogarnięcie różnych rodzajów strumieni i metod reprezentacji danych.
Jak bowiem poradzić sobie np. z biblioteką, która wymaga danych w jedynie słusznej tablicy charów a my właśnie dostaliśmy strumień wejściowy z socketu? [*] Z uwagi na mnogość klas I/O w Javie takich dylematów powstaje niezliczona ilość. Wyjść jest kilka, z reguły przechodzimy przez kila warstw obiektów (w końcu biblioteka I/O w Javie realizuje wzorzec chain of responsiility), w najgorszym wypadku w pętli przepisując dane z jednego miejsca w drugie.
Nawet jeśli znalazłem już konkretne rozwiązanie, i tak z reguły pozostaje niesmak i przeświadczenie, że może dałoby się to zrobić krócej/lepiej/szybciej, niepotrzebne skreślić. W tym celu przygotowałem ściągawkę, jeśli choć jedna osoba ją sobie wydrukuje i powiesi na biurkiem, będzie to mój sukces :-).
Czekam również na poprawki i propozycje, wciąż wiele ścieżek nie jest uzupełnionych.
[*] - z rysunku dowiadujemy się, że najprościej zrobić to przy pomocy metody toCharArray() klasy IOUtils z pakietu Apache Commons IO.
Tags: commons