Információkat olvas a fájlból egy sort a kódot java JDK 7 vagy 8, java

Információkat olvas a fájlból egy sort a kódot java JDK 7 vagy 8, java

Olvassa el a fájl tartalmát a Java nem könnyű, meg kell használni a nagy mennyiségű boilerplate kódot, amelyet már láttuk az előző példában, a cikk szól a szöveges fájlokat. Mi „wrap” kellett csinálni sok mindent, például üzembe FileInputStream egy BufferedReader, kérje ciklus furcsa kilépési feltételek stb Mivel JDK 7, a helyzet sokat javult. JDK számos hasznos osztályok, mint a fájlok és az útvonalak, tervezték, hogy a fájlok és utak nekik. Ebben a cikkben megtudhatja, hogyan kell olvasni egy fájlból egyetlen sor kódot. Természetesen a gyártási kód egy kicsit más, főleg, ha olvassa a memória több gigabájtnyi adatot, és azt szeretné, hogy a kódolás. Ha kódolás van kiválasztva, a használt kódolási állványok, az alapértelmezett. Röviden, akkor kell még egy kis kódot, de a gyors és piszkos módon a fájl olvasása elég lesz. By the way, ha a kód tartalmaz és kivételkezelés, akkor lesz egy pár sort. A végső termelés alkalmazás akkor kell figyelembe venni a helyzet, amikor egy fájl hiányzik, például olyan üzenetet jelenít meg a felhasználó elküldi mutatókat, fenntartása error log, stb de minden esetben sokkal kevésbé lesz boilerplate kódot, mint a szokásos esetben az Ön számára.

Java 8 megkönnyítendő használó fejlesztők az új módszereket alkalmaz, amelyek kihasználják az API folyamok (stream API). Ezen túlmenően, a fájlok osztályban több új technikát adtak, mindig UTF-8 kódolású helyett bármely platformon, például Files.readAllLines (). Ez a módszer olvas minden sort a fájl. Bájtot a fájl dekódolható karakterek UTF-8 kódolást. Java módszer egyenértékű 7. módszer Files.readAllLines (path, StandardCharsets.UTF_8). By the way, mindig egyértelműen meg kell határozni a karakterkódolást alakításakor egy byte tömb a string. Mindig egyértelműen meg kell határozni a kódolás, akkor is, ha az olvasáskor jelenleg amelyek csak angolul.

olvassa el a fájlt egy sor kód és 8 vJava7

Itt egy példa a mi program Java, bemutatja, hogyan lehet teljesen olvasni a fájlt csak egy sor kódot. Példánkban egy új osztályát Files bevezetett JDK 1.7, java.nio.file.Files osztály számos hasznos módszert kínál a fájlok Java, például annak ellenőrzése, hogy a rejtett fájl. illetve arra, hogy csak olvasható. Használhatja Files.readAllBytes parancs (Path), hogy teljes mértékben olvassa el a fájlt a memóriába. Ez a módszer adja vissza egy tömbben byte átvihető a karakterlánc kivitelező létrehozni abból string sort. módszer azt is biztosítja, hogy a fájl megfelelően lezárva elolvasása után az összes bájt, illetve abban az esetben, input-output hiba vagy más kezelt kivétel, ami azt jelenti, hogy nem kell, hogy bezárja a fájlt a véglegesen blokkolni. vagyis nem kell írni boilerplate kódot. Meg kell jegyezni, hogy ez a módszer nem alkalmas olvasásra nagy fájlokat, mert ha Heap nem elég szabad hely, akkor a végén a memóriát. Is, akkor egyértelműen meg kell határozni a karakterkódolást alakításakor egy byte tömb a string elkerülése érdekében kellemetlen meglepetés vagy értelmezési hiba.

Ha azt szeretnénk, hogy olvassa el a fájlt egy String, akkor használjon egy másik módszer az úgynevezett readAllLines (Path, Charset cs). Ez a módszer hasonló az előzőhöz, azaz ez is lezárja a fájlok olvasása után, vagy hiba esetén, de ahelyett, hogy egy sor bájt ad vissza egy sor bájtok alakítja említett karakterkészlet. Ezen túlmenően, a Java 8 egy másik túlterhelt változata ez a módszer került, amely nem igényel charset paraméter (kódolás) és UTF-8 byte lehet átalakítani a String.

Felszerelés nem ért véget. Ha el szeretnénk olvasni egy fájlt sorról sorra. akkor a módszer Files.lines (), visszatér a patak húrok olvasni a fájlt, amelyben a byte alakítjuk karakterek UTF-8 kódolást. Használata foreach () metódus, akkor kiírja az összes sort a fájl a konzol egyetlen sor Java-kód, amint azt a harmadik kódrészletet.

Tudod, hogy a kód még rövidebb statikus import Java. az alábbiak szerint:

Ha használja a Java 8, akkor is használhatja a patak API, amely lehetővé teszi számukra, hogy írjon több tömör és hatékony kód, azt az alábbi példa. Itt vonalak () metódus visszaadja áramban String (fluxus vonalakat), amely alakítja a byte olvasni a fájlt a szimbólumok UTF-8 kódolást. Ez megegyezik a hívó Files.lines módszer (path, StandardCharsets.UTF_8) Java-7.

Ez minden, amit tudnia kell olvasni a szöveget vagy bináris fájlt egyetlen sor kódot Java 7. Mint látható, az új eszközök Fájl API JDK 7 és a Stream API Java 8 jelentősen leegyszerűsítette a feladatot adatok olvasására egy fájlt Java . Ez segített, hogy teljesen megszabadulni a boilerplate kód, amelynek eredményeként egy sokkal világos és tömör kódot. By the way, ha írsz gyártási kód, amely adatokat olvas egy fájlt, ügyeljen arra, hogy figyeljen az alábbiakra:

  • A fájl túl nagy lehet, hogy kell elhelyezni a memóriában, így olvasása előtt alaposan tanulmányozza a méretét és megvizsgálja a helyzetet, ha nem tudja olvasni a fájlt.
  • Tartsa a folyóirat összes üzenet okairól lehetetlen a fájl olvasása vagy hiba történt olvasás közben.
  • Mindig adja meg a karakterkódolást elolvassa a bájtok karaktereket.
  • Ne feledje, hogy a fájl lehet jelen, így ez a helyzet is szükséges figyelembe venni.