Skip to main content

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.

Comments

  1. Cieszę się, że mogłem pomóc. W wolnej chwili przygotuję nowszą wersję i dodam konwersje do klasy URL. Oczywiście czekam na uwagi, zwłaszcza jeśli zobaczycie na grafie błędy.

    ReplyDelete

Post a Comment