Обработка файлов в Java: как работать с файлами Java?

Опубликовано: 2021-03-12

Java — широко популярный язык программирования. Помимо надежной архитектуры и компонентов , одной из наиболее важных причин его успеха и популярности является поддержка многочисленных функций. Обработка файлов в 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. Это помогает программистам манипулировать данными в файле. Существует множество операций, которые можно выполнять с файлом, например, узнать длину файла, прочитать содержимое файла, определить, доступен ли файл для записи и т.д.