ПредишенСледващото

информация за четене от файл един ред код в Java JDK 7 или 8, Java

Четете съдържанието на даден файл в Java не е лесно, то е необходимо да се използва голямо количество шаблон код, който вече видяхме в предишния пример, статията гласи текстови файлове. Ние "обвива" трябваше да прави много неща, като например поставяне FileInputStream в BufferedReader, да зададете цикли със странни условия за излизане от кризата, и т.н. От JDK 7, ситуацията е много по-добри. JDK предоставя много полезни уроци, като например файлове и пътищата, предназначени за работа с файлове и пътища към тях. В тази статия ще научите как да се чете информация от файл с един ред код. Разбира се, вашата продукция код ще изглежда по-различно, особено ако сте чели в паметта на няколко гигабайта данни, а вие искате да се помисли за кодиране. Ако кодиране не е избрана, използван за кодиране платформи, по подразбиране. С една дума, вие се нуждаете от малко повече код, но за бърз и мръсен начин за четене на файла ще бъде достатъчно. Между другото, ако кодът ще съдържа и обработка на изключения, ще отнеме няколко реда. В заявлението за крайния етап на производството ще трябва да се вземе предвид ситуацията, в която липсва файл, например, като показва съобщение за грешка на потребителя, чрез изпращане на показатели, поддържане грешка дънер, и т.н. но в никакъв случай тя ще бъде много по-малко шаблон код, отколкото в обичайния случай за вас.

Java 8 за да направят живота по-лесно с помощта на разработчиците новия си набор от методи, които да се възползват от API потоци (поток API). В допълнение, в класа на файлове са добавени няколко нови техники, винаги използвайте UTF-8 кодиране вместо всяка платформа, например, Files.readAllLines (). Този метод чете всички линии от файла. Bytes от файла се декодират в символи от UTF-8 кодиране. метод Java е еквивалентен на метод 7 Files.readAllLines (път, StandardCharsets.UTF_8). Между другото, винаги изрично уточни кодовата таблица, при конвертиране масив от байтове на String. Винаги укажете в кодирането, дори и ако вашите четене на файлове в момента съдържат само на английски език.

прочете файл един ред код и 8 vJava7

Ето един пример от нашата програма в Java, демонстрира как да се чете напълно файла само с един ред код. В нашия пример, с помощта на нов клас файлове, въведена в JDK 1.7, java.nio.file.Files клас предоставя много полезни методи за работа с файлове в Java, например, да се провери дали скрит файл. или дали е само за четене. Можете да използвате Files.readAllBytes команда (Path), за да се чете напълно файла в паметта. Този метод връща масив от байтове, които могат да се предават в String конструктор за създаване на тях String линия. метод също така гарантира, че файлът ще бъде затворен правилно след като е прочел всички байтове, или в случай на входно-изходна грешка или друга необработено изключение, което означава, че не е нужно да затворите файла в крайна сметка да го блокира. т.е., няма да има нужда да се напише шаблон код. Трябва да се отбележи, че този метод не е подходящ за четене на големи файлове, защото ако Heap не е достатъчно свободно място, може да се свърши с памет. Също така, можете изрично да се уточни кодовата таблица, при конвертиране масив от байтове на String, за да се избегнат неприятни изненади, или грешки при анализа.

Ако искате да прочетете файла като низ, можете да използвате друг метод, наречен readAllLines (КАНАЛ, Кодова CS). Този метод е подобен на предишния, т.е. той също затваря файловете след като е прочел или в случай на грешка, но вместо масив от байтове се връща низ от байтове, който се преобразува от споменатия комплект характер. В допълнение, Java 8 е добавен друг претоварен вариант на този метод, който не изисква параметър Кодова (кодиране) и използва UTF-8 за преобразуване на байт String.

Удобства не свършват дотук. Ако искате да прочетете на файл ред по ред. можете да използвате метода Files.lines (), се връща поток с низове прочетени от файла, в който байта се превръщат в символи от UTF-8 кодиране. Използвайки метод forEach (), можете да отпечатате всички линии на файла на конзолата с един ред на Java код, както е демонстрирано в третия кодовия фрагмент.

Можете да направите кода още по-кратко с помощта на статични внос в Java. както е показано по-долу:

Ако използвате Java 8, можете да използвате и API на живо, което им позволява да пишат по-сбит и ефективен код, който се показва в следния пример. Тук линии () метод връща поток от String (линии на потока), който се превръща от байт чете от файла на символи се използва UTF-8 кодиране. Това е еквивалентно на повикване метод Files.lines (път, StandardCharsets.UTF_8) в Java 7.

Това е всичко, което трябва да знаете, за да прочетете текста или двоичен файл с един ред код в Java 7. Както можете да видите, новият API инструменти файла в JDK 7 и Stream API в Java 8 се опростява значително задачата на четене на данни от файл в Java , Това помогна да се отървете напълно от кода на шаблон, който се превърна в много по-ясен и стегнат код. Между другото, ако пишете производство код, който чете данни от файл, не забравяйте да се обърне внимание на следните точки:

  • Файлът може да е твърде голяма, за да бъде поставен в паметта, така че преди да сте прочели внимателно проучване неговия размер и да се прецени ситуацията, когато не можете да прочетете файла.
  • Дръжте списание всички съобщения за причините за невъзможността за четене на файла или грешка по време на четене.
  • Винаги уточни кодовата таблица, чрез четене на байтове за знака.
  • Не забравяйте, че файлът може да отсъства, така че тази ситуация е необходимо да се вземат под внимание.
Подкрепете проекта - споделете линка, благодаря!