Java SE 8 API dokumentációja

Utolsó módosítás: 2016.11.12.

Feladatok

  1. Írjunk programot, mely sorokat olvas be a szabványos bemenetről, amíg tud! Ezután fordított sorrendben írja ki a sorokat a szabványos kimenetre! A sorok eltárolására használjuk a java.util.LinkedList<A> osztályt!

    Megjegyzés:

  2. Valósítsuk meg a Unix-szerű rendszerek cat programját! A Cat argumentumként vár egy fájlnevet, melynek tartalmát kiírja a szabványos bemenetre.

    Például:

    $ echo "Hello, World!" > hello.txt
    $ java Cat hello.txt
    Hello, World!

    Jelezzük hibaüzenettel, ha a fájl nem található. Ehhez kezeljük le a java.io.FileNotFoundException típusú kivételt!

    Gondoskodjunk minden esetben a fájl lezárásáról!

  3. Valósítsuk meg a Unix-szerű rendszerek grep programját! A Grep paraméterül vár egy szöveget és egy fájlnevet. Miközben olvassa a fájlt:

    1. kilistázza azokat a sorokat, melyek megegyeznek a paraméter szöveggel.

    2. kilistázza azokat a sorokat, melyben a szöveg megtalálható.

    3. Szorgalmi feladat. A sor számát is kiírja, amelyben a szöveg megtalálható. Segítség: használjuk a java.io.LineNumberReader-t, hogy megtudjuk, hanyadik sorban járunk!

    Például:

    $ echo "Hello, World!\n Howdy?" > hello.txt
    $ java Grep World hello.txt
    Hello, World!

    Jelezzük hibaüzenettel, ha a fájl nem található. Ehhez kezeljük le a java.io.FileNotFoundException típusú kivételt!

    Ne kezeljük le az java.io.IOException típusú kivételt, hanem specifikáljuk a main() fejlécében!

    Gondoskodjunk minden esetben a fájl lezárásáról!

  4. Szorgalmi feladat. Készítsünk programot, mely kiírja egy adott diák félév végi jegyeinek átlagát! A program bemenete a diák neve és egy fájlnév, melyben a diákok jegyei szerepelnek. Minden sorban ugyanannyi jegy szerepel, de előre nem tudhatjuk, hogy pontosan mennyi. Feltesszük, hogy minden sor jól van formázva.

    Például:

    $ cat grades.txt
    Fazekas Sándor:4 3 5 4 5
    Mezei Péter:4 2 5 1 3
    Nagy Géza:5 4 5 3 4
    $ java Avg "Mezei Péter" grades.txt
    3.0
    $ java Avg "Villám Géza" grades.txt
    $ java Avg "Fazekas Sándor" asd
    File not found!

    Jelezzük hibaüzenettel, ha a fájl nem található. Ehhez kezeljük le a java.io.FileNotFoundException típusú kivételt!

  5. Szorgalmi feladat. Adott egy fájl, melyben soronként egész számok szerepelnek. Készítsünk programot, mely megállapítja, hogy a számok összege melyik sornál ér el egy paraméterként megadott korlátot a paraméterként megadott fájlban!

    Kezeljük le a java.io.FileNotFoundException kivételt! Adjunk értelmes hibaüzenetet, ha a fájl nem található!

    Segítség: használjunk egy java.util.Scanner objektumot a számok beolvasására.

    Például:

    $ cat almafa
    0
    3
    3
    4
    7
    $ java Bound 6 almafa
    Bound was reached at the 3. line
    $ java Bound 8 asdasd
    File not found!
  6. Haladóknak. Valósítsuk meg a biztonságos törlést végző swipe programot! A Swipe paraméterül vár egy fájlnevet, melynek tartalmát törölni kell, majd:

    1. a szabványos bemenetről olvasott sorokat egészen az üres sorig rögzíti benne.

    2. feltölti a második parancssori paraméterként megadott mennyiségű véletlenszerű

      1. bájttal.

      2. karakterrel.

    Kezeljük le az IOException típusú kivételt! Írjunk ki a kivételobjektumban tárolt hibaüzenetet és a stack-et printStackTrace() metódussal!

    Gondoskodjunk minden esetben a fájl lezárásáról!

  7. Haladóknak. Írjunk programot, mely rekurzívan bejárja a könyvtárakat, és kilistázza a bennük található fájlok számát!

    Például:

    $ java CountFiles
    ./ 2
    ./a/ 3
    ./a/b/ 4
    ./c/ 2