Poo Laboratoare: Laborator5 1 Citire Si Scriere de Fi Siere In Java
Poo Laboratoare: Laborator5 1 Citire Si Scriere de Fi Siere In Java
Contents
Laborator5
Citire si scriere de fisiere
1 n Java
1.1
1.2
Notiuni de baz . . . . . . . .
1.1.1 Fluxuri primitive . . . .
Fluxuri de procesare
1.1.2 . .
Exemplu . . . . . . . . . . . .
2
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2 Probleme de laborator
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
Problema
Problema
Problema
Problema
Problema
Problema
Problema
Problema
Problema
1
2
3
4
5
6
7
8
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.3
.3
.4
.4
.4
.4
.4
.4
.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
http://www.google.ro/
Laborator5
Programare Orientata pe Obiecte: Laborator 5
11
1.1
Notiuni de baz
`
`
la dispoziEie de acest pachet
`
folosiEi
documentatia JDK
Exemple de clase:
1. FileReader, FileWriter
2. FileInputStream, FileOutputStream
Crearea unui flux de intrare pe caractere :
FileReader in = new FileReader( fisier.txt );
`
Sunt responsabile cu preluarea datelor de la un flux primitiv Ei procesarea acestora pentru a le
Exemple de clase:
1. BueredReader, BueredWriter
2. BueredInputStream, BueredOutputStream
Crearea unui flux de intrare printr-un buer :
BufferedReader = new BufferedReader( new FileReader( fisier.txt ) );
1.2
Exemplu
}
f.close();
}
catch (FileNotFoundException e)
{ System.out.println(Fisierul nu a fost gasit);
}
catch (IOException e) { System.out.println(Eroare
la citire);
}
}
public void scrie(String fisier)
{
FileWriter f = null; try {
f = new FileWriter(fisier);
f.write(buf);
f.close();
}
catch (IOException e) { System.out.println(Eroare la
scriere);
}
}
public static void main(String argv[])
{
CitireScriere c = new CitireScriere();
c.citeste(text.txt); c.scrie(out.txt);}
}
}
Probleme de laborator
12
2.1
Problema 1
(1 punct) Sa se scrie un program pentru afisarea pe ecran a liniilor dintr-un fisier text,
fiecare linie precedat de numarul liniei si de un spatiu. Se va folosi clasa
LineNumberReader. Numele fisierului se da n linia de comand. Toate exceptiile de I/E sunt
aruncate mai departe astfel:
2.2
Problema 2
2.3
Problema 3
(1 punct) Sa se scrie un program pentru citirea unui fisier text si crearea unui alt
fisier n care toate literele din fisierul initial sunt trecute n litere mari. Se va folosi
metoda read din clasa FileReader pentru citirea unui caracter (metoda read are ca
rezultat -1 la sfarsit de fisier).
2.4
Problema 4
2.5
Problema 5
2.6
Problema 6
(1 punct) Sa se scrie un program pentru citirea de linii de la tastatura si afisarea lor pe ecran, folosind metoda
readLine pentru un obiect de tip DataInputStream sau BueredReader.
2.7
Problema 7
2.8
Problema 8
2.9
Problema 9
(2 puncte) Program pentru cautarea unui sir dat n toate fisierele dintr-un director dat
si afisarea numelor fisierelor care contin acest sir.
2.10
Problema 10 (bonus)
(1 punct) Sa se scrie un program pentru copierea unui fisier mare folosind succesiv clasele FileIn-putStream,
FileOutputStream, apoi clasele FileReader, FileWriter si apoi clasele BueredReader si
2.11
Problema 11 (bonus)