založeny na v/v proudech
plně platformově nezávislé
V/V proudy jsou
znakové (Reader/Writer) nebo
binární (Stream)
koncipovány jako "stavebnice" - lze vkládat do sebe a tím přidávat vlastnosti, např.
is = new InputStream(...);
bis = new BufferedInputStream(is);
Téměř vše ze vstupních/výstupních tříd a rozhraní je v balíku java.io.
počínaje J2SDK1.4 se rozvíjí alternativní balík - java.nio (New I/O)