Читання текстових файлів

Java використовує двобайтні символи для зберігання букв, а класи FileReader і FileWriter призначені для зручної роботи з текстовими файлами  Ці класи можуть зчитувати файли посимвольний, використовуючи метод read (), або ж через підрядник, за допомогою методу readLine () У класів FileReader і FileWriter також є

аналоги, BufferedReader і BufferedWriter, що дозволяють прискорити роботу з файламіСледующій клас ScoreReader зчитує вміст файлу scorestxt рядок за рядком Виконання програми завершується, коли метод readLine () повертає null, що вказує на кінець файлаІспользуя будь-який текстовий редактор, створіть файлc:\scorestxt, Що містить наступні чотири рядки: David 235

Brian 190

Anna 225

Zachary 160

Запустіть програму ScoreReader, яка виведе содержімоеетого файлу на екран Додайте ще кілька рядків з результатами ігор Тепер запустіть програму знову, щоб пересвідчитися, що додані рядки теж будуть виводитися на екран

import javaioFileReader import javaioBufferedReader import javaioIOException

public class ScoreReader {

public static void main(String[] args) { FileReader myFile = null

BufferedReader buff = null

try {

myFile=new FileReader(&quotc:\\scorestxt&quot)

buff = new BufferedReader(myFile)

while (true) {

/ / Зчитується рядок з файлу scorestxt

String line = buffreadLine()

/ / Перевірка досягнення кінця файлу

if (line == null) break Systemoutprintln(line)

} / / Кінець циклу while

}catch (IOException e){

eprintStackTrace()

} finally {

try{

buffclose()

myFileclose()

}catch(IOException e1){

e1printStackTrace()

}

}

} / / Кінець методу main

}

Якщо програма повинна записувати текстові дані на диск, використовуйте один з перевантажених методів write ()   класу FileWriter Ці методи дозволяють записати у файл символ, рядок String або цілий масив символів

У класу FileWriter є кілька перевантажених (overloaded) конструкторів Якщо відкрити файл, задавши тільки його імя, то він буде перезаписаний заново при кожному запуску програми:

FileWriter fOut = new FileWriter(&quotScorestxt&quot)

Якщо потрібно дозапісать дані у вже існуючий файл, використовуйте конструктор з двома аргументами (true означає режим додавання, якщо файл існує):

FileWriter fOut = new FileWriter(&quotScorestxt&quot, true)

У наступному прикладі, клас ScoreWriter записує три рядки ізмассіва scores в файл c: \ scorestxt

import javaioFileWriter import javaioBufferedWriter import javaioIOException

public class ScoreWriter {

public static void main(String[] args) { FileWriter myFile = null

BufferedWriter buff = null

String[] scores = new String[3]

/ / Заповнення масиву результатами гри

scores[0] = &quotMr Smith 240" scores[1] = &quotMs Lee 300" scores[2] = &quotMr Dolittle 190"

try {

myFile = new FileWriter(&quotc:\\scores2txt&quot)

buff = new BufferedWriter(myFile)

for (int i=0 i &lt scoreslength i++) {

/ / Запис рядків з масиву в файл scores2txt buffwrite (scores [i])

Systemoutprintln (Записується + scores [i])

}

Systemoutprintln (Запис файлу завершена)

}catch (IOException e){

eprintStackTrace()

} finally {

try{

buffflush() buffclose() myFileclose()

}catch(IOException e1){

e1printStackTrace()

}

}

} / / Кінець методу main

}

Виведення програми буде виглядати ось так:

Записується Mr Smith 240

Записується Ms Lee 300

Записується Mr Dolittle 190

Запис файлу завершена

Джерело: Java Programming for Kids, Parents and Grandparents by Yakov Fain

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*