Java: Textový vstup a výstup
Z MiS
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í souboru
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
Scannerslouží 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é