Sunteți pe pagina 1din 2

Laborator 9-10

Laborator săptămâna 25.11 - 30.11.2019


3.12 - 7.12.2019

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.

4. Scrieţi un program Java care defineşte o clasă DataCalendaristică. Datele


calendaristice se vor prelua ca argumente de pe linia de comandă într-unul din
următoarele formate ZZ/LL/AAAA sau zi/luna/an (24/10/2005 sau 24 octombrie
2005). Clasa DataCalendaristică are doi constructori care iniţializează ziua, luna şi
anul datei calendaristice. Să se scrie câte o metodă de afişare a unui obiect din
clasa DataCalendaristica (supraîncărcată) pentru fiecare din aceste formate de
date calendaristice.
Obs. Se vor folosi metode din clasa StringTokenizer.

5. Utilizînd clasa RandomAccessFile, scrieţi un program Java care citeşte un fişier


binar de numere întregi (sau de tip float, sau double) şi afişează fiecare element pe
ecran înlocuind numerele negative cu modulul acestora.
Obs. Se vor trata excepţiile.

6. Să se creeze un fişier cu liniile de forma :


nume, nota1, nota2 <SfarsitLinie>
1. Să se afişeze conţinutul fişierului.
2. Să se afişeze toţi studenţii cu media >=6.5
3. Să se caute în fişier un student după nume, afişându-se informaţiile despre
el. În caz că nu este găsit se afişează un mesaj.
Obs. Se vor trata excepţiile ce pot apare.

7. Fie clasa Student care are următoarele proprietăţi: nume, numeCurs, nota,
nrPrezente. Să se realizeze un program care permite:

1. Citirea unui student de la tastatură


2. Serializarea listei de studenți intr-un fișier
3. Încărcarea unei liste de studenți dintr-un fișier
4. Tratarea erorilor care pot apărea la introducerea unui Student
5. Calculul mediei notelor studenților pentru un curs dat.

S-ar putea să vă placă și