Obsługa plików w Javie: jak pracować z plikami Javy?
Opublikowany: 2021-03-12Java to bardzo popularny język programowania. Oprócz solidnej architektury i komponentów , jednym z najważniejszych powodów jego sukcesu i popularności jest obsługa wielu funkcjonalności. Obsługa plików w Javie to jedna z takich funkcjonalności, która pozwala nam pracować z plikami. Dzisiaj poznamy różne operacje, które możemy wykonać z koncepcjami plików w Javie .
Spis treści
Co to jest obsługa plików Java?
Jak wspomniano, obsługa plików w Javie umożliwia pracę z plikami. Jest to funkcjonalność Java zdefiniowana w klasie File pakietu Java.io. Pakiet io w Java.io oznacza wejście i wyjście. W pakiecie Java.io znajdziesz wszystkie klasy, których będziesz potrzebować do wykonywania jakichkolwiek operacji wejścia lub wyjścia.
Możesz uzyskać dostęp do tej klasy File i używać jej do wykonywania różnych funkcji, tworząc obiekt i podając nazwę pliku lub katalogu. Składnia tworzenia obiektu i używania klasy File to:
importuj plik java.io.;
File obj = new File(“name.txt”);
Jak widać w powyższej składni, najpierw musisz zaimportować klasę File z pakietu Java.io. Po zaimportowaniu wystarczy utworzyć obiekt i określić nazwę pliku lub katalogu, z którym chcesz pracować. Aby wymienić nazwę katalogu w systemie operacyjnym Windows, musisz użyć „\\”. Na przykład musisz użyć „ C:\\Users\\MyFolder\\MySubFolder ”, a nie „ C:\Users|MyFolder|MySubFolder ”. Jednak w przypadku innych systemów operacyjnych, takich jak Linux, możesz użyć pojedynczego \ jak zwykle.
Wszystkie operacje we/wy (wejścia/wyjścia) koncepcji plików w Javie są wykonywane za pomocą strumienia. Zagłębmy się głęboko w to, czym jest strumień i jak za jego pomocą wykonywane są te operacje?
Jaka jest koncepcja strumieni w Javie?
Mówiąc prościej, strumień to seria danych. Istnieją dwa rodzaje strumieni, którymi są:
- Strumień bajtów : ten typ strumienia działa z danymi bajtów. Operacje we/wy są wykonywane ze strumieniem bajtów podczas odczytu lub zapisu danych w formacie bajtowym (8-bitowym).
- Strumień znaków : Ten typ strumienia działa z sekwencją znaków. Operacje we/wy są wykonywane ze strumieniem znaków podczas odczytywania lub zapisywania danych przy użyciu znaków.
Zamówienie: najlepsze projekty Java na GitHub
Jakie są dostępne różne metody obsługi plików w Javie?
Klasa File udostępnia różne predefiniowane metody ułatwiające wykonywanie wszystkich operacji we/wy przez samo ich wywołanie. Poniższa tabela przedstawia wszystkie metody, wraz z akcjami, które wykonują.
metoda | Rodzaj | Opis |
można przeczytać() | Boole'a | Sprawdza, czy możesz odczytać plik, czy nie. |
potrafi pisać() | Boole'a | Sprawdza, czy możesz zapisywać do pliku, czy nie. |
utwórz nowy plik() | Boole'a | Spowoduje to utworzenie nowego pustego pliku. |
usunąć() | Boole'a | Ta metoda usunie określony plik. |
istnieje() | Boole'a | Sprawdza, czy wspomniany plik istnieje. |
pobierzNazwę() | Strunowy | Zwraca nazwę pliku. |
pobierz ścieżkę absolutną() | Strunowy | Zwraca bezwzględną nazwę ścieżki pliku. |
długość() | Długi | Zwraca rozmiar pliku w bajtach. |
lista() | Strunowy[] | Zwraca listę nazw plików obecnych w katalogu. |
mkdir() | Boole'a | Ta metoda utworzy nowy katalog. |
Jak wykonywać różne operacje obsługi plików Java?
Ponieważ znasz już różne metody dostępne w klasie File, nadszedł czas, aby użyć ich do wykonania różnych operacji obsługi plików Java . Na początek możesz wykonać następujące czynności na pliku.
- Utwórz nowy plik.
- Uzyskaj informacje o pliku.
- Napisz do pliku.
- Czytaj z pliku.
- Usuń plik.
Będziemy przechodzić przez przykład, aby wykonać każdą z tych operacji. W pierwszym przykładzie utworzymy nowy plik, a następnie użyjemy tego samego pliku do wykonania innych zadań.
Tworzenie pliku
Możesz utworzyć plik za pomocą metody createNewFile(). Wykonanie metody zwróci prawdę lub fałsz. Jeśli plik zostanie pomyślnie utworzony, zwróci prawdę. Z drugiej strony, jeśli plik już istnieje, zwróci fałsz.
Zawsze zaleca się używanie tej metody w bloku try and catch, ponieważ może ona zgłosić wyjątek, jeśli plik nie zostanie pomyślnie utworzony. Możesz dowiedzieć się więcej na ten temat w naszym przewodniku dotyczącym obsługi wyjątków w Javie . Zobacz poniższy przykład, który używa metody createNewFile() do utworzenia nowego pustego pliku.
importuj plik java.io.; // Importowanie klasy File
import java.io.IOException; // Importowanie klasy IOException do obsługi błędów
public class CreateFileExample{
public static void main(String[] args){
próbować{
File obj = nowy plik("nowyPlik.txt");
if(obj.createNewFile()){ // jeśli zwróci true, tj. pomyślnie utworzony
System.out.println("Ile zostało utworzone pomyślnie:" + obj.getName());
}
else{ // jeśli zwróci false, czyli plik już istnieje
System.out.println("Plik już istnieje");
}
}
catch (IOException e){ // aby złapać wyjątki w przypadku wystąpienia błędu
System.out.println("Wystąpił błąd");
e.printStackTrace();
}
}
}
Wyjście:
Plik został pomyślnie utworzony: newFile.txt
Uzyskiwanie informacji o pliku
Możesz użyć różnych metod zdefiniowanych w klasie File, aby uzyskać dostęp do różnych informacji o pliku, takich jak nazwa, długość, ścieżka bezwzględna, czytelność i inne. W poniższym przykładzie użyto niektórych metod uzyskiwania informacji o plikach.
importuj plik java.io.;
public class AccessInfoExample{
public static void main(String[] args){
// Tworzenie obiektu
File obj = nowy plik("nowyPlik.txt");
if(obj.istnieje()){
// Pobieranie nazwy pliku
System.out.println("Nazwa pliku to:" + obj.getName());
// Pobieranie ścieżki bezwzględnej
System.out.println(„Bezwzględna ścieżka pliku to:” + obj.getAbsolutePath());
// Sprawdzenie, czy plik jest zapisywalny
System.out.println(„Czy plik jest zapisywalny?” + obj.canWrite());
// Sprawdzenie, czy plik jest czytelny
System.out.println(„Czy plik jest czytelny?” + obj.canRead());
// Pobranie długości w bajtach
// Pokaże 0, ponieważ jeszcze nic nie zapisaliśmy w naszym pliku
System.out.println("Rozmiar pliku w bajtach:" + obj.length());
}
w przeciwnym razie{
System.out.println("Plik o nazwie" + obj.getName() + "nie istnieje.");
}
}
}
Wyjście:
Nazwa pliku to: newFile.txt
Ścieżka bezwzględna do pliku to: D:JavaProgramming:newFile.txt
Czy plik jest zapisywalny? prawda
Czy plik jest czytelny? prawda
Rozmiar pliku w bajtach: 0
Dane wyjściowe powyższego przykładu mogą się różnić w zależności od nazwy pliku, ścieżki, w której go zapisałeś, oraz rozmiaru. Jeśli określony plik nie istnieje, zostanie wyświetlony komunikat „Plik o nazwie nowyPlik.txt nie istnieje”.
Zapisywanie do pliku
Aby zapisać dane w bajtach, użyj klasy FileOutputStream, a dla znaków użyj klasy FileWriter. W poniższym przykładzie użyjemy klasy FileWriter i jej predefiniowanej metody write(), aby napisać coś wewnątrz naszego „newFile”.
Jedną rzeczą, na którą należy zwrócić uwagę przed rozpoczęciem przykładu, jest to, że za każdym razem, gdy otwierasz plik do zapisu, musisz go zamknąć za pomocą metody close(). Zamknięcie pliku umożliwi odzyskanie zasobów przydzielonych przez kompilator Java do zapisu w pliku. Przyjrzyjmy się, jak to zrobić w przykładzie.
import java.io.FileWriter; // Importowanie klasy FileWriter
import java.io.IOException; // Importowanie klasy IOException do obsługi błędów
public class WriteExample{
public static void main(String[] args){
próbować{
FileWriter obj = nowy FileWriter(„nowyPlik.txt”);
obj.write(„To zostanie zapisane w pliku newFile.txt!”);
obj.zamknij(); // Zamykanie pliku
System.out.println("Pomyślnie zapisaliśmy plik i zamknęliśmy go.");
}
catch(IOException e){
System.out.println("Wystąpił błąd.");
e.printStackTrace();
}
}
}
Wyjście:
Pomyślnie zapisaliśmy w pliku i zamknęliśmy go.
Czytanie z pliku
Możesz użyć FileInputStream do odczytywania danych bajtów i FileReader do odczytywania danych znaków z pliku. Alternatywnie możesz również użyć klasy Scanner do odczytu z pliku. Ponieważ używaliśmy już FileWriter do zapisywania danych, w tym przykładzie użyjemy klasy Scanner do odczytu danych. Podobnie jak podczas pisania, zamknięcie otwartego pliku jest konieczne również podczas czytania.
importuj plik java.io.; // Importowanie klasy File
import java.io.FileNotFoundException; // Importowanie klasy do obsługi błędów
importuj java.util.Scanner; // Importowanie klasy Scanner do czytania plików tekstowych
public class ReadExample{
public static void main(String[] args){
próbować{
File obj = nowy plik("nowyPlik.txt");
Skaner robj = nowy Skaner(obj);
while (robj.hasNextLine()){
String dataInfo = robj.nextLine();
System.out.println(informacje o danych);
}
robj.zamknij();
}
catch(FileNotFoundException e){
System.out.println("Wystąpił błąd.");
e.printStackTrace();
}
}
}
Wyjście:
Zostanie to zapisane w pliku newFile.txt!
Usuwanie pliku
Plik można usunąć za pomocą metody delete() klasy File. Możesz także usunąć cały folder, jeśli jest pusty. Usuńmy nasz plik „newFile.txt” w poniższym przykładzie.
importuj plik java.io.; // Importuj klasę File
klasa public UsuńPrzykład{
public static void main(String[] args){
File obj = nowy plik("nowyPlik.txt");
if(obj.delete()){
System.out.println("Plik o nazwie" + obj.getName() + "został pomyślnie usunięty.");
}
w przeciwnym razie{
System.out.println("Plik nie został usunięty.");
}
}
}
Wyjście:
Plik o nazwie newFile.txt został pomyślnie usunięty.
Przeczytaj także: Pomysły i tematy projektów Java
Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
W tym poście dowiedziałeś się wszystkiego o obsłudze plików w Javie . Java udostępnia różne tego typu funkcjonalności, co czyni ją jednym z najpopularniejszych języków programowania na świecie. Nic więc dziwnego, że pensja programistów Java w Indiach jest bardzo wysoka. Jeśli chcesz zostać programistą Java i otrzymać pakiet z wysoką pensją, darmowy kurs Java upGrad jest dla Ciebie.
Kurs jest częścią programu upStart, bezcennej inicjatywy podnoszącej kwalifikacje. Po zakończeniu bezpłatnego kursu i zdobyciu certyfikatu możesz dodatkowo zdecydować się na certyfikację PG upGrad w zakresie rozwoju pełnego stosu . Otrzymasz ponad 400 godzin materiału do nauki z praktycznym doświadczeniem w ramach projektów. Weź udział w kursie i rozwijaj się w dziedzinie tworzenia oprogramowania z koncepcjami programowania Java.
Jak czytać i pisać do plików w Javie?
Obiekt klasy InputStream reprezentuje źródło danych, z którego można odczytywać bajty, a obiekt klasy OutputStream reprezentuje miejsce docelowe, w którym można zapisywać bajty. Takie obiekty są używane z różnymi klasami pakietu java.io do odczytu i zapisu plików, odczytu i zapisu danych z gniazd oraz wykonywania różnych innych operacji wejścia i wyjścia.
Jakie są różne biblioteki obsługi plików w Javie?
W javie dostępnych jest kilka bibliotek do obsługi plików. Każdy ma swój własny cel i zastosowanie. Pakiet java.io definiuje podstawowe klasy obsługi plików. Możemy więc powiedzieć, że jest to najbardziej uniwersalna biblioteka do obsługi plików. Pakiet java.nio, znany również jako pakiet New Input/Output, jest najczęściej używany do przesyłania danych o wysokiej przepustowości, małych opóźnieniach i niskiej przepustowości. Jest bezpieczny, lekki i niezależny od platformy. Ten pakiet rozszerza pakiet java.io o interfejsy API oparte na kanałach. Ponadto pakiet java.nio.file jest interfejsem programistycznym do systemów plików. System plików to hierarchiczna organizacja danych, niezależna od fizycznego nośnika, na którym przechowywane są informacje. System plików umożliwia udostępnianie plików i komunikację między procesami między aplikacjami. Ponadto pakiet java.nio.file.attribute jest przeznaczony dla klas i interfejsów atrybutów systemu plików.
Jakie są zastosowania obsługi plików w Javie?
Obsługa plików to jeden z wielu interesujących i wartościowych tematów dotyczących programowania w języku Java. Programiści Java muszą wiedzieć, jak tworzyć, otwierać, czytać, pisać, dołączać i usuwać pliki w Javie. Pomaga to programistom manipulować danymi w pliku. Istnieje wiele operacji, które można wykonać na pliku, takich jak sprawdzenie długości pliku, odczytanie zawartości pliku, określenie, czy plik jest zapisywalny i tak dalej.