logo

Come aprire un file in Java

Esistono i seguenti modi per aprire un file in Java:

  • Classe desktop Java
  • Classe Java FileInputStream
  • Classe Java BufferedReader
  • Classe FileReader Java
  • Classe scanner Java
  • Pacchetto Java Nio

Classe desktop Java

La classe Java Desktop fornisce un file aprire() metodo per aprire un file. Appartiene ad a java.awt pacchetto. L'implementazione del desktop dipende dalla piattaforma, quindi è necessario verificare che il sistema operativo supporti o meno il desktop. La classe Desktop cerca un'applicazione associata registrata sul desktop nativo per gestire un file. Se non è presente alcuna applicazione associata o l'applicazione non viene avviata, genera il file FileNotFoundException . Avvia il browser predefinito dell'utente per mostrare un URI specificato.

  • Avvia il client di posta predefinito dell'utente con un URI di posta facoltativo.
  • Avvia l'applicazione registrata per aprire, modificare o stampare un file specificato.

IL aprire() Il metodo della classe Desktop avvia l'applicazione associata per aprire un file. Prende un file come argomento. La firma del metodo è:

 public void open (File file) throws IOException 

Il metodo genera le seguenti eccezioni:

seleziona come
    NullPointerException:Se il file è nullo.IllegalArgumentException:Viene lanciato quando il file non esiste.IOException:Viene generato quando non è presente alcuna applicazione associata al tipo di file specificato.Esecuzione dell'operazione non supportata:Se la piattaforma corrente non supporta l'azione Desktop.Action.Open.

Esempio

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

Quando eseguiamo il programma sopra, apre il file di testo specificato nell'editor di testo predefinito. Possiamo anche aprire il file .docx, .pdf e .webp.

Produzione:

dipendenza parziale
Come aprire un file in Java

Classe Java FileInputStream

Giava FileInputStream La classe viene utilizzata per aprire e leggere un file. Possiamo aprire e leggere un file utilizzando il costruttore della classe FileInputStream. La firma del costruttore è:

 public FileInputStream(File file) throws FileNotFoundException 

Accetta un file come argomento. Lancia FileNotFoundException se il file non esiste o il nome del file è una directory.

Esempio

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

Produzione:

Come aprire un file in Java

Classe Java BufferedReader

Giava BufferedReader la classe legge il testo da un flusso di input di caratteri. Appartiene ad a java.io pacchetto. Usiamo il costruttore della classe BufferedReader per aprire o leggere un file. La firma del costruttore è:

 public BufferedReader(Reader in) 

Crea un flusso di input di caratteri di buffering che utilizza un buffer di input di dimensioni predefinite. Utilizza un buffer di input di dimensioni predefinite.

Esempio

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

Produzione:

Come aprire un file in Java

Classe FileReader Java

Giava Lettore di file La classe viene utilizzata anche per aprire e leggere un file. Appartiene ad a java.io pacchetto. È una comodità per leggere i caratteri dei file. Viene utilizzato per leggere byte grezzi utilizzando la classe FileInputStream. Usiamo il costruttore della classe FileInputStream per aprire e leggere un file. La firma del costruttore è:

 public FileReader(File file) throws FileNotFoundException 

Accetta un file come argomento. Lancia il FileNotFoundException se il file specificato non esiste o il nome del file è una directory.

Esempio

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

Produzione:

struttura Java
Come aprire un file in Java

Classe scanner Java

Giava Scanner La classe viene utilizzata anche per aprire e leggere un file. Appartiene alla classe Scanner java.util pacchetto. Il costruttore della classe Scanner viene utilizzato per aprire e leggere un file. La firma del costruttore è:

quando è uscito windows 7?
 public scanner (File source) throws FileNotFoundException 

Accetta un file (da scansionare) come argomento. Lancia anche FileNotFoundException , se l'origine del file non viene trovata.

Esempio

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

Produzione:

Come aprire un file in Java

Pacchetto Java Nio

metodo readAllLines() : Il metodo readAllLines() è il metodo della classe File. Legge tutte le righe da un file e i byte del file vengono decodificati in caratteri utilizzando il set di caratteri UTF-8. Restituisce le righe del file come un elenco. La firma del metodo è:

 public static List readAllLines(Path path) throws IOException 

Dove percorso è il percorso del file.

Il metodo sopra equivale a invocare quanto segue:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collezioni.emptyList(): Il metodo emptyList() è il metodo della classe Collection che appartiene al pacchetto java.util. Viene utilizzato per ottenere una lista vuota. La firma del metodo è:

 public static final List emptyList() 

Esempio

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

Produzione:

Come aprire un file in Java