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=== | ||