logo

Com obrir un fitxer a Java

Hi ha maneres següents d'obrir un fitxer a Java:

  • Classe d'escriptori Java
  • Classe Java FileInputStream
  • Classe Java BufferedReader
  • Classe Java FileReader
  • Classe d'escàner Java
  • Paquet Java nio

Classe d'escriptori Java

La classe d'escriptori Java proporciona un obert() mètode per obrir un fitxer. Pertany a a java.awt paquet. La implementació de l'escriptori depèn de la plataforma, per la qual cosa cal comprovar si el sistema operatiu és compatible amb l'escriptori o no. La classe Desktop cerca una aplicació associada registrada a l'escriptori natiu per gestionar un fitxer. Si no hi ha cap aplicació associada o l'aplicació no es pot iniciar, llançarà el fitxer FileNotFoundException . Inicia el navegador predeterminat de l'usuari per mostrar un URI especificat.

  • Llança el client de correu predeterminat de l'usuari amb un URI de correu opcional.
  • Inicia l'aplicació registrada per obrir, editar o imprimir un fitxer especificat.

El obert() El mètode de la classe Desktop llança l'aplicació associada per obrir un fitxer. Pren un fitxer com a argument. La signatura del mètode és:

 public void open (File file) throws IOException 

El mètode llança les següents excepcions:

arraylist.sort
    NullPointerException:Si el fitxer és nul.IllegalArgumentException:Es llança quan el fitxer no existeix.IOException:Es llança quan no hi ha cap aplicació associada amb el tipus de fitxer donat.UnsupportedOperationExecution:Si la plataforma actual no admet l'acció Desktop.Action.Open.

Exemple

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

Quan executem el programa anterior, obre el fitxer de text especificat a l'editor de text predeterminat. També podem obrir el fitxer .docx, .pdf i .webp.

Sortida:

Com obrir un fitxer a Java

Classe Java FileInputStream

Java FileInputStream class s'utilitza per obrir i llegir un fitxer. Podem obrir i llegir un fitxer utilitzant el constructor de la classe FileInputStream. La signatura del constructor és:

 public FileInputStream(File file) throws FileNotFoundException 

Accepta un fitxer com a argument. Es tira FileNotFoundException si el fitxer no existeix o el nom del fitxer és un directori.

Exemple

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

Sortida:

cadena de int
Com obrir un fitxer a Java

Classe Java BufferedReader

Java BufferedReader la classe llegeix el text d'un flux d'entrada de caràcters. Pertany a a java.io paquet. Utilitzem el constructor de la classe BufferedReader per obrir o llegir un fitxer. La signatura del constructor és:

 public BufferedReader(Reader in) 

Crea una memòria intermèdia d'entrada de caràcters que utilitza una memòria intermèdia d'entrada de mida predeterminada. Utilitza un buffer d'entrada de mida predeterminat.

comandament superior unix

Exemple

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

Sortida:

Com obrir un fitxer a Java

Classe Java FileReader

Java FileReader class també s'utilitza per obrir i llegir un fitxer. Pertany a a java.io paquet. És una comoditat per llegir els caràcters dels fitxers. S'utilitza per llegir bytes en brut mitjançant la classe FileInputStream. Utilitzem el constructor de la classe FileInputStream per obrir i llegir un fitxer. La signatura del constructor és:

 public FileReader(File file) throws FileNotFoundException 

Accepta un fitxer com a argument. Llança el FileNotFoundException si el fitxer especificat no existeix o el nom del fitxer és un directori.

Exemple

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

Sortida:

Com obrir un fitxer a Java

Classe d'escàner Java

Java Escàner class també s'utilitza per obrir i llegir un fitxer. Pertany a la classe Scanner java.util paquet. El constructor de la classe Scanner s'utilitza per obrir i llegir un fitxer. La signatura del constructor és:

 public scanner (File source) throws FileNotFoundException 

Accepta un fitxer (per escanejar) com a argument. També llença FileNotFoundException , si no es troba l'origen del fitxer.

Exemple

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

Sortida:

Com obrir un fitxer a Java

Paquet Java nio

Mètode readAllLines(). : El mètode readAllLines() és el mètode de la classe File. Llegeix totes les línies d'un fitxer i els bytes del fitxer es descodifiquen en caràcters mitjançant el conjunt de caràcters UTF-8. Retorna les línies del fitxer com una llista. La signatura del mètode és:

ml a oz
 public static List readAllLines(Path path) throws IOException 

On ruta és la ruta del fitxer.

El mètode anterior és equivalent a invocar el següent:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): El mètode emptyList() és el mètode de la classe Collection que pertany al paquet java.util. S'utilitza per obtenir una llista buida. La signatura del mètode és:

 public static final List emptyList() 

Exemple

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

Sortida:

Com obrir un fitxer a Java