Java: Textový vstup a výstup
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky) |
(→BufferedWriter: Přidáno psaní na standardní výstup.) |
||
Řádka 7: | Řádka 7: | ||
*Teprve při dosažení limitu data naráz zapíše. | *Teprve při dosažení limitu data naráz zapíše. | ||
*Je to efektivnější, než psát jednotlivé malé texty hned! | *Je to efektivnější, než psát jednotlivé malé texty hned! | ||
+ | |||
+ | ; Otevření standardního výstupu | ||
+ | BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out)); | ||
+ | Tuto variantu používáme tehdy, kdy chceme společnou metodu pro psaní do souboru i na standardní výstup. | ||
+ | Pro standardní výstup jinak samozřejmě stačí: | ||
+ | System.out.println(...); | ||
; Otevření souboru | ; Otevření souboru | ||
+ | Charset kodovani = Charset.charsetForName("utf-8"); | ||
+ | Path cesta = Paths.get("vystup.txt"); | ||
+ | BufferedWriter out = Files.newBufferedWriter(cesta, kodovani); | ||
Související třídy: | Související třídy: | ||
* <tt>Charset</tt> | * <tt>Charset</tt> |
Verze z 22. 5. 2014, 08:20
Obsah |
BufferedWriter
Třída BufferedWriter
slouží pro zápis dat do textového výstupu.
- Princip
- Ukládá zapisovaná data do paměťového bufferu.
- Teprve při dosažení limitu data naráz zapíše.
- Je to efektivnější, než psát jednotlivé malé texty hned!
- Otevření standardního výstupu
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
Tuto variantu používáme tehdy, kdy chceme společnou metodu pro psaní do souboru i na standardní výstup. Pro standardní výstup jinak samozřejmě stačí:
System.out.println(...);
- Otevření souboru
Charset kodovani = Charset.charsetForName("utf-8"); Path cesta = Paths.get("vystup.txt"); BufferedWriter out = Files.newBufferedWriter(cesta, kodovani);
Související třídy:
- Charset
- informace o kódování souboru
- Files, Paths
- práce s cestami a soubory
- umí i otevřít BufferedWriter.
- Metody
-
write(String text)
-
newLine()
- Přidá do výstupu konec řádku. Respektuje národní nastavení a platformové závislosti.
-
flush()
- Provede fyzický zápis stávajícího obsahu bufferu na výstup.
-
close()
- Zavře výstupní soubor.
- Provede i
flush()
.
Charset kodovani = Charset.charsetForName("utf-8"); Path cesta = Paths.get("vystup.txt"); BufferedWriter out = Files.newBufferedWriter(cesta, kodovani); out.write("blabla"); out.newLine(); out.close();
Scanner
- Třída
Scanner
slouží ke čtení z textového vstupu — z klávesnice nebo z textového souboru. - Zaveden od Javy 1.5 — nahrazuje BufferedReader.
- Metody
-
next()
- přečte celý řádek až po oddělovač (viz dále)
- při čtení z konzole (klávesnice) čeká na oddělovač
- bere jednotlivá slova, oddělená standardně bílým místem
-
int nextInt()
-
boolean hasNext()
- je k dispozici další slovo?
-
useDelimiter(String delim)
- Například při čtení formátu CSV:
out.useDelimiter(",");
- Otevření vstupu
- Standardní vstup
Scanner sc = new Scanner(System.in); int i = sc.nextInt(); vstup=input.next();
- Ze souboru:
Scanner sc = new Scanner(new File("myNumbers")); while (sc.hasNextLong()) { ... long aLong = sc.nextLong(); ... }
Viz také