logo

Cum se deschide un fișier în Java

Există următoarele moduri de a deschide un fișier în Java:

  • Clasa Java Desktop
  • Clasa Java FileInputStream
  • Clasa Java BufferedReader
  • Clasa Java FileReader
  • Clasa Java Scanner
  • Pachetul Java nio

Clasa Java Desktop

Clasa Java Desktop oferă un deschis() metoda de a deschide un fișier. Aparține unui java.awt pachet. Implementarea desktopului este dependentă de platformă, așa că este necesar să verificați dacă sistemul de operare acceptă sau nu Desktop. Clasa Desktop caută o aplicație asociată înregistrată pe desktopul nativ pentru a gestiona un fișier. Dacă nu există nicio aplicație asociată sau dacă aplicația nu poate fi lansată, se aruncă FileNotFoundException . Lansează browserul implicit al utilizatorului pentru a afișa un URI specificat.

  • Lansează clientul de e-mail implicit al utilizatorului cu un URI de e-mail opțional.
  • Lansează aplicația înregistrată pentru a deschide, edita sau tipări un fișier specificat.

The deschis() metoda clasei Desktop lansează aplicația asociată pentru a deschide un fișier. Ia un fișier ca argument. Semnătura metodei este:

 public void open (File file) throws IOException 

Metoda aruncă următoarele excepții:

sesiunea a expirat
    NullPointerException:Dacă fișierul este nul.IllegalArgumentException:Este aruncat atunci când fișierul nu există.IOException:Este aruncat atunci când nu există nicio aplicație asociată cu tipul de fișier dat.UnsupportedOperationExecution:Dacă platforma curentă nu acceptă acțiunea Desktop.Action.Open.

Exemplu

 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(); } } } 

Când rulăm programul de mai sus, acesta deschide fișierul text specificat în editorul de text implicit. De asemenea, putem deschide fișierele .docx, .pdf și .webp.

Ieșire:

Cum se deschide un fișier în Java

Clasa Java FileInputStream

Java FileInputStream clasa este folosită pentru a deschide și a citi un fișier. Putem deschide și citi un fișier folosind constructorul clasei FileInputStream. Semnătura constructorului este:

 public FileInputStream(File file) throws FileNotFoundException 

Acceptă un fișier ca argument. Aruncă FileNotFoundException dacă fișierul nu există sau numele fișierului este un director.

Exemplu

 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(); } } } 

Ieșire:

Cum se deschide un fișier în Java

Clasa Java BufferedReader

Java BufferedReader clasa citește text dintr-un flux de introducere a caracterelor. Aparține unui java.io pachet. Folosim constructorul clasei BufferedReader pentru a deschide sau a citi un fișier. Semnătura constructorului este:

metoda string în java
 public BufferedReader(Reader in) 

Acesta creează un flux de introducere a caracterelor de tamponare care utilizează un tampon de intrare de dimensiune implicită. Utilizează un tampon de intrare de dimensiune implicită.

Exemplu

 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(); } } } 

Ieșire:

Cum se deschide un fișier în Java

Clasa Java FileReader

Java FileReader clasa este folosită și pentru deschiderea și citirea unui fișier. Aparține unui java.io pachet. Este o comoditate pentru citirea caracterelor fișierelor. Este folosit pentru citirea octeților bruti folosind clasa FileInputStream. Folosim constructorul clasei FileInputStream pentru a deschide și a citi un fișier. Semnătura constructorului este:

cum se concatenează șiruri în java
 public FileReader(File file) throws FileNotFoundException 

Acceptă un fișier ca argument. Aruncă FileNotFoundException dacă fișierul specificat nu există sau numele fișierului este un director.

Exemplu

 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(); } } } 

Ieșire:

Cum se deschide un fișier în Java

Clasa Java Scanner

Java Scanner clasa este folosită și pentru deschiderea și citirea unui fișier. Clasa Scanner îi aparține java.util pachet. Constructorul clasei Scanner este folosit pentru deschiderea și citirea unui fișier. Semnătura constructorului este:

 public scanner (File source) throws FileNotFoundException 

Acceptă un fișier (de scanat) ca argument. De asemenea, aruncă FileNotFoundException , dacă sursa fișierului nu este găsită.

Exemplu

 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(); } } } 

Ieșire:

Cum se deschide un fișier în Java

Pachetul Java nio

metoda readAllLines(). : Metoda readAllLines() este metoda clasei File. Citește toate liniile dintr-un fișier, iar octeții din fișier sunt decodați în caractere folosind setul de caractere UTF-8. Returnează liniile din fișier ca o listă. Semnătura metodei este:

redenumiți în directorul linux
 public static List readAllLines(Path path) throws IOException 

Unde cale este calea fișierului.

Metoda de mai sus este echivalentă cu invocarea următoarelor:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): Metoda emptyList() este metoda clasei Collection care aparține pachetului java.util. Este folosit pentru a obține o listă goală. Semnătura metodei este:

 public static final List emptyList() 

Exemplu

 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 } } 

Ieșire:

Cum se deschide un fișier în Java