This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
laboratoare:tutorial-io [2017/09/28 19:33] Adriana Draghici [Introducere] |
laboratoare:tutorial-io [2017/10/01 22:07] (current) Adriana Draghici [Tutorial I/O] |
||
---|---|---|---|
Line 1: | Line 1: | ||
= Tutorial I/O = | = Tutorial I/O = | ||
- | * Responsabil: todo | + | * Responsabil: [[michelcatalin@gmail.com|Mihai Burdușelu]] |
- | * Data publicării: todo | + | * Data publicării: 01.10.2017 |
- | * Data ultimei modificări: todo | + | * Data ultimei modificări: 28.09.2017 |
==Obiective== | ==Obiective== | ||
Line 23: | Line 23: | ||
<note> | <note> | ||
Deschiderea fișierului se face în momentul instanțierii obiectului. | Deschiderea fișierului se face în momentul instanțierii obiectului. | ||
- | Dacă fișierul nu se afla pe disc, API-ul va arunca FileNotFoundException. | + | Dacă fișierul nu se află pe disc, API-ul va arunca FileNotFoundException. |
</note> | </note> | ||
===Instanțierea unui obiect al clasei FileReader=== | ===Instanțierea unui obiect al clasei FileReader=== | ||
Line 30: | Line 30: | ||
FileReader fileReader = new FileReader(filename); | FileReader fileReader = new FileReader(filename); | ||
</code> | </code> | ||
- | ===Citirea tipurilor de date primitive din java=== | + | ===Citirea tipurilor de date primitive din Java=== |
- | FileReader conține metode de citire a tipurilor de date primitive din java: nextChar, nextBool, nextInt, nextLong, nextFloat si nextDouble. | + | FileReader conține metode de citire a tipurilor de date primitive din Java: ''nextChar'', ''nextBool'', ''nextInt'', ''nextLong'', ''nextFloat'' și ''nextDouble''. |
Exemplu de folosire a metodelor **next*** | Exemplu de folosire a metodelor **next*** | ||
<code text input.txt> | <code text input.txt> | ||
Line 50: | Line 50: | ||
În urma rulării codului de mai sus, se va afișa "//4 3.14 true//". | În urma rulării codului de mai sus, se va afișa "//4 3.14 true//". | ||
- | ===Citirea stringurilor delimitate de spatii=== | + | ===Citirea stringurilor delimitate de spații=== |
- | De asemenea, API-ul oferă și metodă de nextWord care are drept scop citirea unui string pană la întâlnirea primului spațiu. | + | De asemenea, API-ul oferă și metoda ''nextWord'' care are drept scop citirea unui string pană la întâlnirea primului spațiu. |
Exemplu de folosire a metodei **nextWord** | Exemplu de folosire a metodei **nextWord** | ||
<code text input.txt> | <code text input.txt> | ||
Line 72: | Line 72: | ||
===Închiderea fișierului=== | ===Închiderea fișierului=== | ||
- | După terminarea operației de citire din fișier, fișierul de citire trebuie închis folosind metoda **close()**. | + | După terminarea operației de citire din fișier, fișierul de citire trebuie închis folosind metoda ''close()''. |
==Scrierea în fișier== | ==Scrierea în fișier== | ||
Line 89: | Line 89: | ||
===Scrierea principalelor tipuri de date din java=== | ===Scrierea principalelor tipuri de date din java=== | ||
FileWriter conține metode de **write***, complementare cu metodele **next*** din FileReader. | FileWriter conține metode de **write***, complementare cu metodele **next*** din FileReader. | ||
- | Metoda **writeNewLine()** trece pe o linie noua în fișier. | + | Metoda ''writeNewLine()'' trece pe o linie nouă în fișier. |
Exemplu de folosire a metodelor **write*** | Exemplu de folosire a metodelor **write*** | ||
Line 113: | Line 113: | ||
===Închiderea fișierului=== | ===Închiderea fișierului=== | ||
- | După terminarea operației de scriere în fișier, fișierul de scriere trebuie închis folosind metoda **close()**. | + | După terminarea operației de scriere în fișier, fișierul de scriere trebuie închis folosind metoda ''close()''. |
==Abstractizare pentru manipularea ambelor fluxuri de date== | ==Abstractizare pentru manipularea ambelor fluxuri de date== | ||
- | În cazul în care programul are nevoie atât de citire dintr-un fișier denumit input, cât și de scriere într-altul denumit output, API-ul oferă o abstractizare numită FileSystem. | + | În cazul în care programul are nevoie atât de citire dintr-un fișier denumit input, cât și de scriere într-altul denumit output, API-ul oferă o abstractizare numită ''FileSystem''. |
- | Cele 2 fișiere (input și output) sunt pasate drept parametri către constructor. | + | Cele 2 fișiere (input și output) sunt date drept parametri către constructor. |
===Instanțierea unui obiect al clasei FileSystem=== | ===Instanțierea unui obiect al clasei FileSystem=== |