Jak otworzyć plik w Javie
Istnieją następujące sposoby otwierania pliku w Javie:
- Klasa pulpitu Java
- Klasa Java FileInputStream
- Klasa Java BufferedReader
- Klasa Java FileReader
- Klasa skanera Java
- Pakiet Java nio
Klasa pulpitu Java
Klasa Java Desktop zapewnia otwarty() metoda otwierania pliku. Należy do A Java.awt pakiet. Implementacja komputerów stacjonarnych zależy od platformy, dlatego konieczne jest sprawdzenie, czy system operacyjny obsługuje komputer stacjonarny, czy nie. Klasa Desktop szuka powiązanej aplikacji zarejestrowanej na natywnym pulpicie w celu obsługi pliku. Jeśli nie ma powiązanej aplikacji lub aplikacja nie zostanie uruchomiona, zostanie wyświetlony komunikat Wyjątek FileNotFoundException . Uruchamia domyślną przeglądarkę użytkownika, aby wyświetlić określony identyfikator URI.
- Uruchamia domyślnego klienta poczty użytkownika z opcjonalnym identyfikatorem URI poczty do.
- Uruchamia zarejestrowaną aplikację w celu otwarcia, edycji lub wydrukowania określonego pliku.
The otwarty() Metoda klasy Desktop uruchamia powiązaną aplikację w celu otwarcia pliku. Jako argument przyjmuje plik. Sygnatura metody to:
public void open (File file) throws IOException
Metoda zgłasza następujące wyjątki:
Przykład
import java.awt.Desktop; import java.io.*; public class OpenFileExample1 { public static void main(String[] args) { try { //constructor of file class having file as argument File file = new File('C:\demo\demofile.txt'); if(!Desktop.isDesktopSupported())//check if Desktop is supported by Platform or not { System.out.println('not supported'); return; } Desktop desktop = Desktop.getDesktop(); if(file.exists()) //checks file exists or not desktop.open(file); //opens the specified file } catch(Exception e) { e.printStackTrace(); } } } Kiedy uruchomimy powyższy program, otworzy on określony plik tekstowy w domyślnym edytorze tekstu. Możemy także otworzyć plik .docx, .pdf i .webp.
Wyjście:
Klasa Java FileInputStream
Jawa Strumień wejściowy pliku klasa służy do otwierania i odczytywania pliku. Plik możemy otworzyć i odczytać korzystając z konstruktora klasy FileInputStream. Podpis konstruktora to:
public FileInputStream(File file) throws FileNotFoundException
Akceptuje plik jako argument. Rzuca Wyjątek FileNotFoundException jeśli plik nie istnieje lub nazwa pliku to katalog.
Przykład
import java.io.*; import java.util.Scanner; public class OpenFileExample2 { public static void main(String args[]) { try { //constructor of file class having file as argument File file=new File('C:\demo\demofile.txt'); FileInputStream fis=new FileInputStream(file); //opens a connection to an actual file System.out.println('file content: '); int r=0; while((r=fis.read())!=-1) { System.out.print((char)r); //prints the content of the file } } catch(Exception e) { e.printStackTrace(); } } } Wyjście:
Klasa Java BufferedReader
Jawa Buforowany czytnik klasa odczytuje tekst ze strumienia wejściowego znaków. Należy do A Java.io pakiet. Do otwarcia lub odczytu pliku używamy konstruktora klasy BufferedReader. Podpis konstruktora to:
public BufferedReader(Reader in)
Tworzy buforujący strumień wejściowy znaków, który wykorzystuje bufor wejściowy o domyślnym rozmiarze. Używa bufora wejściowego o domyślnym rozmiarze.
Przykład
import java.io.*; import java.util.Scanner; public class OpenFileExample3 { public static void main(String args[]) { try { //constructor of File class having file as argument File file=new File('C:\demo\demofile.txt'); //creates a buffer reader input stream BufferedReader br=new BufferedReader(new FileReader(file)); System.out.println('file content: '); int r=0; while((r=br.read())!=-1) { System.out.print((char)r); } } catch(Exception e) { e.printStackTrace(); } } } Wyjście:
Klasa Java FileReader
Jawa Czytnik plików class służy również do otwierania i odczytywania pliku. Należy do A Java.io pakiet. Jest to wygoda w odczytywaniu znaków plików. Służy do odczytywania nieprzetworzonych bajtów przy użyciu klasy FileInputStream. Do otwierania i odczytywania pliku używamy konstruktora klasy FileInputStream. Podpis konstruktora to:
public FileReader(File file) throws FileNotFoundException
Akceptuje plik jako argument. Rzuca Wyjątek FileNotFoundException jeśli określony plik nie istnieje lub nazwa pliku to katalog.
Przykład
import java.io.*; public class OpenFileExample4 { public static void main(String args[]) { try { //constructor of the File class having file as an argument FileReader fr=new FileReader('C:\demo\demofile.txt'); System.out.println('file content: '); int r=0; while((r=fr.read())!=-1) { System.out.print((char)r); //prints the content of the file } } catch(Exception e) { e.printStackTrace(); } } } Wyjście:
Klasa skanera Java
Jawa Skaner class służy również do otwierania i odczytywania pliku. Klasa Scanner należy do Java.util pakiet. Konstruktor klasy Scanner służy do otwierania i odczytywania pliku. Podpis konstruktora to:
public scanner (File source) throws FileNotFoundException
Akceptuje plik (do przeskanowania) jako argument. Również rzuca Wyjątek FileNotFoundException , jeśli nie odnaleziono źródła pliku.
Przykład
import java.io.File; import java.util.Scanner; public class OpenFileExample5 { public static void main(String[] args) { try { File file=new File('C:\demo\demofile.txt'); Scanner sc = new Scanner(file); //file to be scanned while (sc.hasNextLine()) //returns true if and only if scanner has another token System.out.println(sc.nextLine()); } catch(Exception e) { e.printStackTrace(); } } } Wyjście:
Pakiet Java Nio
metoda readAllLines(). : Metoda readAllLines() jest metodą klasy File. Odczytuje wszystkie linie z pliku, a bajty z pliku są dekodowane na znaki przy użyciu zestawu znaków UTF-8. Zwraca linie z pliku w postaci listy. Sygnatura metody to:
public static List readAllLines(Path path) throws IOException
Gdzie ścieżka jest ścieżką do pliku.
Powyższa metoda jest równoznaczna z wywołaniem następującej metody:
File.readAllLines(path, Standard CharSets.UTF_8)
Kolekcje.emptyList(): Metoda pustyList() jest metodą klasy Collection należącej do pakietu java.util. Służy do uzyskania pustej listy. Sygnatura metody to:
public static final List emptyList()
Przykład
import java.util.*; import java.nio.charset.StandardCharsets; import java.nio.file.*; import java.io.*; public class OpenFileExample6 { public static List readFileInList(String fileName) { List lines = Collections.emptyList(); try { lines=Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8); } catch (IOException e) { e.printStackTrace(); } return lines; } public static void main(String[] args) { List l = readFileInList('C:\demo\demofile.txt'); Iterator itr = l.iterator(); //access the elements while (itr.hasNext()) //returns true if and only if scanner has another token System.out.println(itr.next()); //prints the content of the file } } Wyjście: