Клас File

Клас javaioFile містить безліч зручних методів, які дозволяють перейменувати файл, видалити файл, перевірити існування файлу і тд Припустимо, програма зберігає деякі дані у файл і потрібно видати користувачеві попередження, якщо такий файл вже існує Для цього, необхідно створити екземпляр класу File, вказавши імя файлу, а потім викликати метод exists () Якщо метод поверне true, значить файл abctxt знайдений на диску і необхідно вивести попередження, інакше такий файл ще не існує:

File aFile = new File(&quotabctxt&quot)

if (aFileexists()){

/ / Сюди йде код для виводa в консоль або через JOptionPane

/ / Для відображення попередження у віконці

}

Конструктор класу File, Насправді, не створює файл – він просто створює в памяті екземпляр цього класу, який вказує на реальний файл Якщо дійсно потрібно створити файл, використовуйте для цього метод createNewFile ()

Нижче наведені деякі корисні методи класу File

Імя методу

Призначення методу

createNewFile()

Створює новий порожній файл з імям, вказаним при створенні обєкта типу File Новий файл створюється тільки, якщо він ще не існує

delete()

Видаляє файл або директорію

renameTo()

Перейменовує файл

length()

Повертає розмір файлу в байтах

exists()

Повертає true, якщо файл існує

list()

Повертає масив рядків з іменами

файлів / директорій, що містяться вуказанной директорії

lastModified()

Повертає час останнього ізмененіяфайла

mkDir()

Створює директорію

Наступний фрагмент коду перейменовує файл customerstxt в customerstxtbak Якщо файл Bak вже існує, він буде перезаписаний

File file = new File(&quotcustomerstxt&quot)

File backup = new File(&quotcustomerstxtbak&quot)

if (backupexists()){

backupdelete()

}

filerenameTo(backup)

У версії Java 7 зявився новий клас Files, який спрощує створення, видалення та копіювання файлів На відміну від класу File, Files створює або видаляє реальні файли на диску, а не в памяті А новий клас Path – це програмне подання повного імені файлу, незалежно від операційної системи користувача Ось як це виглядає для файлу Customerstxt під Windows і на Маку:

 Path pathCustomers= FileSystemsgetDefault()getPath(“”,”c\\Customerstxt”)

Path pathCustomers= FileSystemsgetDefault()getPath(“”,”/Customerstxt”)

А так можна читати файл в колекцію рядків:

List customers= FilesreadAllLines(pathCustomers,CharsetdefaultCharset())

Прочитати файл, як набір байтів можна так:

byte[] customers=FilesreadAllBytes(pathCustomers)

Усі також можна використовувати буфер:

Reader reader=

FilesnewBufferedReader(pathCustomers,  CharsetdefaultCharset())

А створити новий файл Customerstxt можна так:

Path fileName=  Pathsget(“c:\\Customerstxt”) Path customers=PathscreateFile(fileName)

Ця глава була присвячена тільки роботі з файлами на диску вашого компютера, але Java дозволяє створювати потоки, що вказують на інші компютери в мережі Такі компютери можуть перебувати досить далеко один від одного Наприклад, NASA використовувала Java для управління марсоходами Я впевнений, що для цього вони просто спрямували свої потоки на Марс J Матеріали для додаткового читання

1 Параметри командного рядка JVM

http://downloadoraclecom/javase/tutorial/essential/environm ent/cmdLineArgshtml

2 Використання файлових потоковhttp :/ / javasuncom / docs / books / tutorial / essential / io / filestreams

.html

Практичні вправи

Напишіть програму копіювання файлів під назвою FileCopy, обєднавши для цього фрагменти коду з розділу про байтові потоки

Відкрийте два потоку (введення і виведення) і викличте методи read () і write () в одному і тому ж циклі Використовуйте аргументи командного рядка для передачі програмі імен вихідного і кінцевого файлів, наприклад:

java FileCopy c:\\temp\\scorestxt c:\\backup\\scores2txt

Практичні вправи для розумників і розумниць

Створіть Swing-додаток, що дозволяє користувачам вибирати імена файлів для копіювання, використовуючи клас JFileChooser, який створює стандартне вікно вибору файлу Це вікно повинно відкриватися при натисканні користувачем однієї з кнопок Browse Потрібно буде додати кілька рядків коду для відображення обраного імені файлу в текстовому полі

Після того, як користувач натискає кнопку Copy, код в методі actionPerformed () повинен скопіювати вибраний файл Спробуйте заново

 

використовувати

Джерело: 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>

*

*