Обработка файлов в Java: как работать с файлами Java?
Опубликовано: 2021-03-12Java — широко популярный язык программирования. Помимо надежной архитектуры и компонентов , одной из наиболее важных причин его успеха и популярности является поддержка многочисленных функций. Обработка файлов в Java — одна из таких функций, которая позволяет нам работать с файлами. Сегодня мы узнаем о различных операциях, которые мы можем выполнять с концепциями файлов в Java .
Оглавление
Что такое обработка файлов Java?
Как уже упоминалось, обработка файлов в Java позволяет вам работать с файлами. Это функция Java, определенная в классе File пакета Java.io. Пакет io в Java.io означает ввод и вывод. В пакете Java.io вы найдете все классы, которые вам когда-либо понадобятся для выполнения любых операций ввода или вывода.
Вы можете получить доступ и использовать этот класс File для выполнения различных функций, создав объект и указав имя файла или каталога. Синтаксис для создания объекта и использования класса File:
импортировать java.io.File;
Файл obj = новый файл («имя.txt»);
Как видно из приведенного выше синтаксиса, сначала необходимо импортировать класс File из пакета Java.io. После импорта все, что вам нужно сделать, это создать объект и указать имя файла или каталога, с которым вы хотите работать. Чтобы указать имя каталога в ОС Windows, вы должны использовать «\\». Например, вы должны использовать « C:\\Users\\MyFolder\\MySubFolder », а не « C:\Users|MyFolder|MySubFolder ». Однако для других операционных систем, таких как Linux, вы можете использовать один символ \ как обычно.
Все операции ввода/вывода (ввода/вывода) файловых концепций в Java выполняются с помощью потока. Давайте углубимся в то, что такое поток, и как с ним выполняются эти операции?
Что такое концепция потоков в Java?
Проще говоря, поток — это последовательность данных. Существует два типа потоков, а именно:
- Байтовый поток : этот тип потока работает с байтовыми данными. Операции ввода-вывода выполняются с потоком байтов, когда вы читаете или записываете данные в байтовом (8-битном) формате.
- Поток символов : этот тип потока работает с последовательностью символов. Операции ввода-вывода выполняются с потоком символов, когда вы читаете или записываете данные с использованием символов.
Оформить заказ: Лучшие проекты Java на GitHub
Какие существуют различные методы обработки файлов в Java?
Класс File предоставляет различные предопределенные методы, помогающие выполнять все операции ввода-вывода, просто вызывая их. В таблице ниже показаны все методы, а также действия, которые они выполняют.
Метод | Тип | Описание |
можноЧитать() | логический | Он проверяет, можете ли вы прочитать файл или нет. |
можетЗаписать() | логический | Он проверяет, можете ли вы писать в файл или нет. |
создать новый файл () | логический | Это создаст новый пустой файл. |
удалять() | логический | Этот метод удалит указанный файл. |
существует() | логический | Он проверяет, существует ли указанный файл. |
получитьИмя() | Нить | Возвращает имя файла. |
получитьабсолютный путь() | Нить | Возвращает абсолютный путь к файлу. |
длина() | Длинная | Возвращает размер файла в байтах. |
список() | Нить[] | Возвращает список имен файлов, присутствующих в каталоге. |
мкдир() | логический | Этот метод создаст новый каталог. |
Как выполнять различные операции обработки файлов Java?
Поскольку вы знаете о различных методах, доступных в классе File, пришло время использовать их для выполнения различных операций обработки файлов Java . Для начала вы можете выполнить следующие действия над файлом.
- Создайте новый файл.
- Получить информацию о файле.
- Запишите в файл.
- Читать из файла.
- Удалить файл.
Мы рассмотрим пример для выполнения каждой из этих операций. В первом примере мы создадим новый файл, а затем будем использовать этот же файл для выполнения других задач.
Создание файла
Вы можете создать файл с помощью метода createNewFile(). Выполнение метода вернет либо true, либо false. Если файл создан успешно, он вернет значение true. С другой стороны, если файл уже существует, он вернет false.
Всегда рекомендуется использовать этот метод в блоке try and catch, так как он может вызвать исключение, если файл не будет создан успешно. Вы можете узнать больше об этом в нашем руководстве по обработке исключений в Java . См. приведенный ниже пример, в котором используется метод createNewFile() для создания нового пустого файла.
импортировать java.io.File; // Импорт класса File
импортировать java.io.IOException; // Импорт класса IOException для обработки ошибок
открытый класс CreateFileExample {
public static void main(String[] args){
пытаться{
Файл obj = новый файл ("newFile.txt");
if(obj.createNewFile()){ // если возвращает true, т.е. успешно создан
System.out.println("Файл успешно создан:" + obj.getName());
}
else{ // если возвращает false, т.е. файл уже существует
System.out.println("Файл уже существует");
}
}
catch (IOException e){ // для перехвата исключений в случае возникновения какой-либо ошибки
System.out.println("Произошла ошибка");
e.printStackTrace();
}
}
}
Выход:
Файл успешно создан: newFile.txt
Получение информации о файле
Вы можете использовать различные методы, определенные в классе File, для доступа к различной информации о файле, такой как имя, длина, абсолютный путь, доступность для чтения и многое другое. Некоторые методы получения информации о файле используются в приведенном ниже примере.
импортировать java.io.File;
открытый класс AccessInfoExample {
public static void main(String[] args){
// Создание объекта
Файл obj = новый файл ("newFile.txt");
если(объект.существует()){
// Получение имени файла
System.out.println("Имя файла:" + obj.getName());
// Получение абсолютного пути
System.out.println("Абсолютный путь к файлу:" + obj.getAbsolutePath());
// Проверяем, доступен ли файл для записи
System.out.println("Доступен ли файл для записи?" + obj.canWrite());
// Проверяем, читается ли файл
System.out.println("Файл доступен для чтения?" + obj.canRead());
// Получение длины в байтах
// Он покажет 0, так как мы еще ничего не записали в наш файл
System.out.println("Размер файла в байтах:" + obj.length());
}
еще{
System.out.println("Файл с именем" + obj.getName() + "не существует.");
}
}
}
Выход:
Имя файла: newFile.txt
Абсолютный путь к файлу: D:JavaProgramming:newFile.txt.
Файл доступен для записи? истинный
Файл читается? истинный
Размер файла в байтах: 0
Выходные данные приведенного выше примера могут различаться в зависимости от имени файла, пути его сохранения и размера. Если указанный файл не существует, будет показано «Файл с именем newFile.txt не существует».
Запись в файл
Для записи данных в байтах используйте класс FileOutputStream, а для символов используйте класс FileWriter. В приведенном ниже примере мы будем использовать класс FileWriter и его предопределенный метод write() для записи чего-либо внутри нашего «newFile».
Прежде чем приступить к рассмотрению примера, следует отметить, что всякий раз, когда вы открываете файл для записи, вам необходимо закрыть его с помощью метода close(). Закрытие файла позволит вам получить ресурсы, выделенные компилятором Java для записи в файл. Давайте посмотрим, как это сделать на примере.
импортировать java.io.FileWriter; // Импорт класса FileWriter
импортировать java.io.IOException; // Импорт класса IOException для обработки ошибок
открытый класс WriteExample {
public static void main(String[] args){
пытаться{
FileWriter obj = новый FileWriter("newFile.txt");
obj.write("Это будет записано в файле newFile.txt!");
объект.закрыть(); // Закрытие файла
System.out.println("Мы успешно записали файл и закрыли его.");
}
поймать (IOException e) {
System.out.println("Произошла ошибка.");
e.printStackTrace();
}
}
}
Выход:
Мы успешно записали файл и закрыли его.
Чтение из файла
Вы можете использовать FileInputStream для чтения данных байтов и FileReader для чтения данных символов из файла. Кроме того, вы также можете использовать класс Scanner для чтения из файла. Поскольку мы уже использовали FileWriter для записи данных, в этом примере мы будем использовать класс Scanner для чтения данных. Как и при записи, закрытие открытого файла необходимо и при чтении.
импортировать java.io.File; // Импорт класса File
импортировать java.io.FileNotFoundException; // Импорт класса для обработки ошибок
импортировать java.util.Scanner; // Импорт класса Scanner для чтения текстовых файлов
открытый класс ReadExample {
public static void main(String[] args){
пытаться{
Файл obj = новый файл ("newFile.txt");
Сканер robj = новый Сканер(obj);
в то время как (robj.hasNextLine()){
Строка dataInfo = robj.nextLine();
System.out.println (информация о данных);
}
закрыть();
}
поймать (FileNotFoundException e) {
System.out.println("Произошла ошибка.");
e.printStackTrace();
}
}
}
Выход:
Это будет записано в файле newFile.txt!
Удаление файла
Вы можете удалить файл, используя метод delete() класса File. Вы также можете удалить всю папку, если она пуста. Давайте удалим наш файл «newFile.txt» в приведенном ниже примере.
импортировать java.io.File; // Импорт класса File
открытый класс DeleteExample {
public static void main(String[] args){
Файл obj = новый файл ("newFile.txt");
если(объект.удалить()){
System.out.println("Файл с именем" + obj.getName() + "удален успешно.");
}
еще{
System.out.println("Файл не удален.");
}
}
}
Выход:
Файл с именем newFile.txt успешно удален.
Читайте также: Идеи и темы проектов Java
Изучайте онлайн-курсы по программному обеспечению от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Заключение
В этом посте вы узнали все об обработке файлов в Java . Java предоставляет различные такие функции, что делает его одним из самых популярных языков программирования во всем мире. Поэтому неудивительно, что зарплата разработчиков Java в Индии очень высока. Если вы хотите стать Java-разработчиком и получать высокую зарплату, вам подойдет бесплатный онлайн-курс upGrad по Java .
Курс является частью программы upStart, бесценной инициативы по повышению квалификации. После того, как вы закончите бесплатный курс и получите сертификат, вы можете дополнительно выбрать сертификацию PG upGrad в Full-Stack Development . Вы получаете более 400 часов учебных материалов с практическим опытом в проектах. Пройдите курс и преуспейте в области разработки программного обеспечения с помощью концепций программирования Java.
Как читать и записывать файлы в Java?
Объект класса InputStream представляет собой источник данных, из которого можно считывать байты, а объект класса OutputStream представляет место назначения, в которое могут быть записаны байты. Такие объекты используются с различными классами пакета java.io для чтения и записи файлов, для чтения и записи данных из сокетов и для выполнения множества других операций ввода и вывода.
Каковы различные библиотеки обработки файлов в Java?
В java есть несколько библиотек для обработки файлов. У каждого свое предназначение и использование. Пакет java.io определяет основные классы обработки файлов. Таким образом, мы можем сказать, что это самая универсальная библиотека для работы с файлами. Пакет java.nio, также известный как пакет New Input/Output, в основном используется для передачи данных с высокой пропускной способностью, малой задержкой и низкой пропускной способностью. Он безопасный, легкий и не зависит от платформы. Этот пакет расширяет пакет java.io, добавляя API-интерфейсы на основе каналов. Кроме того, пакет java.nio.file предназначен для программного интерфейса файловых систем. Файловая система — это иерархическая организация данных, независимая от физического носителя, в котором хранится информация. Файловая система обеспечивает обмен файлами и межпроцессное взаимодействие между приложениями. Кроме того, пакет java.nio.file.attribute предназначен для классов и интерфейсов для атрибутов файловой системы.
Каковы приложения обработки файлов в Java?
Работа с файлами — одна из многих интересных и ценных тем Java-программирования. Для Java-программистов жизненно важно знать, как создавать, открывать, читать, записывать, добавлять и удалять файлы в Java. Это помогает программистам манипулировать данными в файле. Существует множество операций, которые можно выполнять с файлом, например, узнать длину файла, прочитать содержимое файла, определить, доступен ли файл для записи и т.д.