Obiective
• Lucrul cu fluxuri
• Serializarea
Probleme
1. Să se scrie un program care salvează într-un fişier al cărui nume îl primeşte ca
parametru în linia de comandă, datele unei liste de angajati, obiectele de tip
Angajat sunt caracterizate prin nume, salariu şi parolă. Parola va fi criptată
conform următorului algoritm: se va genera aleator, la fiecare rulare a aplicaţiei,
un număr între 1 şi 10; la acesta se va aduna la codul ASCII al fiecărui caracter
din parolă, rezultând astfel un nou cuvânt codificat. La fiecare rulare se va
verifica dacă fișierul există, dacă da, lista se va popula cu datele din fișier. Folosiți
mecanismul de serealizare pentru crearea fisierelor.
2. Să se scrie un program care caută un şir de caractere într-un fişier text. Numele
fişierului se va prelua ca parametru din linia de comandă, iar şirul căutat în fişier
se va introduce de la tastatură.
3. Scrieţi un program Java care să afişeze pe ecran conţinutul unui director. Pentru
fişierele afişate se vor preciza dimensiunea (lungimea în octeţi) şi data ultimei
modificări. Numele directorului al cărui conţinut va fi afişat se va da ca parametru
din linia de comandă (sau se va citi de la tastatură).
Obs. Data ultimei modificări a unui fişier este furnizată de metoda lastModified
a clasei File. long lastModified() ; returnează o valoare întreagă long care
indică data şi ora modificării; Pentru obţinerea datei şi orei reale, se converteşte
rezultatul metodei într-un obiect de tip Date, extrăgându-se astfel
informaţiile despre dată şi oră.
Exemplu :
import java.util.* ;
...
Date d=new Date(fisier.lastModified());
System.out.println(fisier.getName()+" a fost modificat in data ");
System.out.println(d);
…
Se vor trata excepţiile ce pot apare.
3. Se introduc de la tastatură n numere naturale, care se depun într-un fişier (f.dat).
Să se consulte fişierul şi să se afişeze numerele care au suma cifrelor egală cu
numărul de ordine pe care l-au avut la citire.
7. Fie clasa Student care are următoarele proprietăţi: nume, numeCurs, nota,
nrPrezente. Să se realizeze un program care permite: