Введение
Когда элементы данных хранятся в компьютерной системе, они могут храниться в течение различных периодов времени — временно или постоянно.
- Временное хранилище обычно называется памятью компьютера или оперативной памятью (RAM). Когда вы пишете программу Java, которая хранит значение в переменной, вы используете временное хранилище; сохраненное вами значение теряется, когда программа завершается или компьютер теряет питание. Этот тип хранилища непостоянен.
- Постоянное хранилище, с другой стороны, не теряется при отключении питания компьютера; он энергонезависим. Когда вы пишете программу на Java и сохраняете ее на диск, вы используете постоянное хранилище.
Файлы существуют на постоянных устройствах хранения, таких как жесткие диски, Zip-диски, USB-накопители, катушки или кассеты с магнитной лентой и компакт-диски. Компьютерные файлы являются электронным эквивалентом бумаги файлы, часто хранящиеся в картотеках в офисах.
Когда вы работаете с сохраненными файлами в приложении, вы обычно выполняете все или некоторые из следующих задач:
- Определение того, существует ли файл и где он существует
- Открытие файла
- Чтение данных из файла
- Запись информации в файл
- Закрытие файла
ИСПОЛЬЗОВАНИЕ КЛАССА файла
Вы можете использовать Класс Java File для сбора информации о файле, такой как его размер, дата последнего изменения и то, существует ли файл вообще. Вы должны включить следующий оператор, чтобы использовать класс File:
import java.io.File;
Пакет java.io содержит все классы, которые вы используете в файле обработки, поэтому обычно проще всего импортировать весь пакет, используя подстановочный знак *, следующим образом:
import java.io. *;
Класс File — подкласс класса Object. Вы можете создать объект File, используя конструктор, который включает имя файла в качестве аргумента, например, вы делаете следующий оператор, когда Data.txt является файлом в корневой папке проекта:
File fileName = новый файл ("Данные. txt ");
Ниже приведен список некоторых важных методов класса File с назначением и сигнатурой метода
Имя метода/подпись | Purpose |
---|---|
boolean canRead () | Возвращает true если файл доступен для чтения |
boolean canWrite () | Возвращает true, если файл доступен для записи |
boolean exists () | Возвращает истину, если файл существует |
String getName ( ) | Возвращает имя файла |
String getPath () | Возвращает путь к файлу |
String getParent () | Возвращает имя папки, в которой находится файл |
long length () | Возвращает размер файла |
long lastModified () | Возвращает время последнего изменения файла; это время зависит от системы и должно использоваться только для сравнения с временем других файлов, а не как абсолютное время |
логическое isDirect ory () | Когда вы создаете объект File, и это каталог, метод isDirectory () вернет true. |
Давайте разберемся с реализацией этого метода с помощью java-программы. В методе main () объявляется объект File с именем myFile. Конструктору передается строка SomeData.txt, которая представляет собой системное имя сохраненного файла. Другими словами, хотя SomeData.txt может быть именем сохраненного файла, когда операционная система обращается к нему, в приложении файл называется myFile. Нам нужно создать файл Data.txt в корневом каталоге проекта, иначе мы получим сообщение «Файл не существует».
Код Java: перейдите в редактор
import java.io.File; открытый класс FileClassMethods {public static void main (String [] args ) {Файл myFile = новый файл ("Data.txt"); if (myFile.exists ()) {System.out.println (myFile.getName () + "exists"); System.out.println ("Файл равно "+ myFile.length () +" длина в байтах "); if (myFile.canRead ()) System.out.println (" нормально читать "); elseSystem.out.println (" не нормально читать "); if (myFile.canWrite ()) System.out.println («нормально писать»); elseSystem.out.println («писать нельзя»); System.out.println («путь:» + myFile.getAbsolutePath ( )); System.out.println ("Имя файла:" + myFile.getName ()); System.out.println ("Размер файла:" + myFile.length () + "байты");} elseSystem.out. println ("Файл не существует");}}
Вывод:
Если файл недоступен в корневой папке проекта .
при наличии файла:
Обработка исключений
Несколько исключений в пакете java.io могут возникнуть, когда вы работа с файлами и потоками.
- Исключение FileNotFound возникает, когда вы пытаетесь создать поток или объект файла, используя файл, который не может быть обнаружен.
- EOFException указывает, что конец файла был достигнут неожиданно, поскольку данные считывались из файла через входной поток.
Эти исключения являются подклассами IOException. Один из способов справиться со всеми из них — заключить все операторы ввода и вывода в блок try-catch, который перехватывает объекты IOException. Вызовите методы исключения toString () или getMessage () в блоке catch, чтобы узнать больше о проблеме
Сводка
- Все реальные приложения генерируют множество данных, на которые нужно ссылаться на более позднем этапе. Это требование достигается с помощью файлового хранилища на постоянном запоминающем устройстве, таком как диск, CD-ROM, флэш-накопитель и т. Д.
- Java предоставляет библиотеку классов для доступа к этой постоянно хранимой информации в файлах, называемых FileIO или java.io. * Упаковка.
- Класс java.io.File предоставляет некоторые из очень полезных служебных методов, таких как проверка разрешений, проверка размера файла, проверка абсолютного пути и т. д.
Редактор кода Java: