System.console () vs. System.out
1. Úvod
V tomto tutoriále preskúmame rozdiely medzi nimi System.console () a System.out.
2. System.console ()
Najskôr vytvorme program na načítanie súboru Konzola objekt:
void printConsoleObject () {konzola konzoly = System.console (); console.writer (). print (konzola); }
Spustenie tohto programu z interaktívneho terminálu spôsobí výstup niečoho podobného [chránené e-mailom]
Jeho spustenie z iných médií však vrhne NullPointerException ako by bol objekt konzoly nulový.
Alebo ak spustíme program uvedený nižšie:
$ java ConsoleAndOut> test.txt
potom program tiež hodí a NullPointerException keď presmerujeme stream. The Konzola trieda tiež poskytuje metódy na čítanie hesiel bez odrážania znaku. Pozrime sa na to v akcii: Zobrazí sa výzva na zadanie hesla a pri jeho zadávaní sa nebudú opakovať znaky. Poďme si teraz vytlačiť objekt System.out: Takto sa vráti niečo ako java.io.PrintStream. Výstup bude odkiaľkoľvek rovnaký. System.out sa používa na tlač údajov do výstupného toku a neexistujú žiadne metódy na čítanie údajov. Výstupný prúd je možné presmerovať na ľubovoľné miesto určenia, napríklad do súboru, a výstup zostane rovnaký. Program môžeme spustiť ako: Týmto sa výstup vytlačí do súboru test.txt spis. Na základe príkladov môžeme identifikovať niektoré rozdiely: V tomto článku sme sa dozvedeli o rozdieloch medzi System.console () a System.out. Vysvetlili sme si to Konzola je užitočné, keď sa má aplikácia spúšťať z interaktívnej konzoly, má však určité problémy, ktoré by sa mali zaznamenať a je treba sa o ne starať. Úplný kód tohto článku je ako vždy k dispozícii na stránkach GitHub.void readPasswordFromConsole () {Console console = System.console (); char [] heslo = console.readPassword ("Zadajte heslo:"); console.printf (String.valueOf (heslo)); }
3. System.out
System.out.println (System.out);
$ java ConsoleAndOut> test.txt
4. Rozdiely
5. Záver