Remote input de intrare și ieșire pe java

Intrarea și ieșirea informațiilor sunt ceea ce programatorul se confruntă la fiecare pas. Acest lucru se aplică atât la scrierea produselor comerciale, cât și la rezolvarea problemelor legate de olimpiada. Sa întâmplat astfel încât este greu pentru un nou-venit să înțeleagă cum aceste acțiuni sunt efectuate prin intermediul limbajului Java. În acest text, voi încerca să atenuez această problemă luând în considerare pe scurt caracteristicile pachetului java.io.







În centrul a tot ceea ce este conectat cu intrarea / ieșirea de informații este conceptul de flux. Un flux este pur și simplu o sursă de informație sau un loc unde informațiile pot fi direcționate. Suntem interesați de lucrul cu dosarele.

Cel mai simplu flux este acela care funcționează cu reprezentarea binară a informațiilor, altfel, cu octeți. Toate fluxurile binare sunt moștenite din două clase abstracte - InputStream și OutputStream. Suntem interesați de doi descendenți - FileInputStream și FileOutputStream, respectiv. Iată o bucată de text a programului care copiază conținutul fișierului a.txt în fișierul b.txt:

Nu uitați să închideți firele cu metoda close (). Datele dvs. pot fi pierdute. Ambele clase au constructori convenabili din calea către fișier. Dacă b.txt nu există, acesta va fi creat. În caz contrar, este rescris. Nu uitați să prindeți excepții (sau indicați-le în antetele metodei).

În practică, nu este necesar să lucrați cu o reprezentare binară a datelor atunci când scrieți olimpiadă. Un mic pas inainte este FileReader si FileWriter. care sunt foarte asemănătoare cu frații binar. Pentru noi, singura diferență este că ei lucrează cu simboluri. O caracteristică nouă este oferită de BufferedReader și PrintWriter. care pot fi considerate ca ambalaje pentru perechea precedentă de clase. Această caracteristică este o citire și scriere liniară a unui fișier. Iată același exemplu de copiere a unui fișier:







clasa PrintWriter este foarte aproape de caracteristicile standard ale C. imprimare () metoda, iar println () sunt definite pentru toate tipurile standard de (acesta din urmă adaugă o linie nouă la sfârșitul ieșirii) și printf) metoda (este foarte similar cu orice procedură adecvată de C. Pentru mai multe detalii referitoare la acest subiect sintaxă a șirului de format, consultați pagina de ajutor corespunzătoare. BufferedReader este mulțumit numai de disponibilitatea metodei readLine ().

Începând cu versiunea 1.5. limba a dovedit în cele din urmă avantajele POR în ceea ce privește introducerea informațiilor. A fost asociată cu apariția clasei Scanner din pachetul java.util. Pentru fiecare dintre tipurile de bază (precum și clasele de aritmetică lungă), există câteva metode: hasNextT () spune dacă puteți continua să citiți T. întrucât tip de element nextT () încearcă să citească articolul. Metodele areNext () și următorul () lucrează în cuvinte separate (pentru detalii, consultați descrierea clasei). Următoarele exemple de copii o secvență de numere pe 32 de biți, situat la începutul fișierului în fișierul b.txt a.txt. scriindu-le pe linie:

Deși scanerul nu este un fir, trebuie de asemenea să apeleze metoda close (). care va închide fluxul utilizat pentru sursa principală. Experții vor spune că au fost furnizate funcții similare, începând cu prima versiune, DataInputStream și DataOutputStream. cu toate acestea, capacitățile lor sunt mai sărace și nu funcționează întotdeauna corect (prin urmare, nu este recomandat să le folosiți cu strictețe).

Rămâne doar să dorești succesul și să sfătui uneori să te uiți în documentația limbajului tău favorit - brusc, să înveți ceva util! În cele din urmă, dau un tabel de timp de lectură (în secunde) de numere duble folosind cele două metode considerate, în funcție de numărul lor:







Articole similare

Trimiteți-le prietenilor: