logo

So öffnen Sie eine Datei in Java

Es gibt folgende Möglichkeiten, eine Datei in Java zu öffnen:

  • Java Desktop-Klasse
  • Java FileInputStream-Klasse
  • Java BufferedReader-Klasse
  • Java FileReader-Klasse
  • Java-Scanner-Klasse
  • Java-Nio-Paket

Java Desktop-Klasse

Die Java Desktop-Klasse bietet eine offen() Methode zum Öffnen einer Datei. Es gehört zu einem java.awt Paket. Die Desktop-Implementierung ist plattformabhängig. Daher muss überprüft werden, ob das Betriebssystem Desktop unterstützt oder nicht. Die Desktop-Klasse sucht nach einer zugehörigen Anwendung, die auf dem nativen Desktop registriert ist, um eine Datei zu verarbeiten. Wenn keine zugehörige Anwendung vorhanden ist oder die Anwendung nicht gestartet werden kann, wird das Problem ausgelöst FileNotFoundException . Startet den Standardbrowser des Benutzers, um einen angegebenen URI anzuzeigen.

  • Startet den Standard-Mail-Client des Benutzers mit einem optionalen Mail-to-URI.
  • Startet die registrierte Anwendung zum Öffnen, Bearbeiten oder Drucken einer bestimmten Datei.

Der offen() Die Methode der Desktop-Klasse startet die zugehörige Anwendung zum Öffnen einer Datei. Als Argument wird eine Datei benötigt. Die Signatur der Methode lautet:

 public void open (File file) throws IOException 

Die Methode löst die folgenden Ausnahmen aus:

Entwicklermodus ausschalten
    NullPointerException:Wenn die Datei null ist.IllegalArgumentException:Es wird ausgelöst, wenn die Datei nicht existiert.IOException:Es wird ausgelöst, wenn dem angegebenen Dateityp keine Anwendung zugeordnet ist.Nicht unterstützteOperationExecution:Wenn die aktuelle Plattform die Aktion Desktop.Action.Open nicht unterstützt.

Beispiel

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

Wenn wir das obige Programm ausführen, öffnet es die angegebene Textdatei im Standardtexteditor. Wir können auch die Dateien .docx, .pdf und .webp öffnen.

Ausgabe:

So öffnen Sie eine Datei in Java

Java FileInputStream-Klasse

Java FileInputStream Die Klasse wird zum Öffnen und Lesen einer Datei verwendet. Wir können eine Datei öffnen und lesen, indem wir den Konstruktor der FileInputStream-Klasse verwenden. Die Signatur des Konstruktors lautet:

YouTube-Video mit VLC herunterladen
 public FileInputStream(File file) throws FileNotFoundException 

Es akzeptiert eine Datei als Argument. Es wirft FileNotFoundException wenn die Datei nicht existiert oder der Dateiname ein Verzeichnis ist.

Beispiel

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

Ausgabe:

So öffnen Sie eine Datei in Java

Java BufferedReader-Klasse

Java BufferedReader Die Klasse liest Text aus einem Zeicheneingabestream. Es gehört zu einem java.io Paket. Wir verwenden den Konstruktor der BufferedReader-Klasse, um eine Datei zu öffnen oder zu lesen. Die Signatur des Konstruktors lautet:

 public BufferedReader(Reader in) 

Es erstellt einen puffernden Zeicheneingabestream, der einen Eingabepuffer in Standardgröße verwendet. Es verwendet einen Eingabepuffer mit Standardgröße.

Beispiel

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

Ausgabe:

df loc
So öffnen Sie eine Datei in Java

Java FileReader-Klasse

Java FileReader Die Klasse wird auch zum Öffnen und Lesen einer Datei verwendet. Es gehört zu einem java.io Paket. Dies ist eine praktische Möglichkeit, die Zeichen der Dateien zu lesen. Es wird zum Lesen von Rohbytes mithilfe der FileInputStream-Klasse verwendet. Wir verwenden den Konstruktor der FileInputStream-Klasse, um eine Datei zu öffnen und zu lesen. Die Signatur des Konstruktors lautet:

 public FileReader(File file) throws FileNotFoundException 

Es akzeptiert eine Datei als Argument. Es wirft die FileNotFoundException wenn die angegebene Datei nicht existiert oder der Dateiname ein Verzeichnis ist.

Beispiel

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

Ausgabe:

So öffnen Sie eine Datei in Java

Java-Scanner-Klasse

Java Scanner Die Klasse wird auch zum Öffnen und Lesen einer Datei verwendet. Die Scanner-Klasse gehört zu java.util Paket. Der Konstruktor der Scanner-Klasse wird zum Öffnen und Lesen einer Datei verwendet. Die Signatur des Konstruktors lautet:

 public scanner (File source) throws FileNotFoundException 

Es akzeptiert eine (zu scannende) Datei als Argument. Es wirft auch FileNotFoundException , wenn die Quelle der Datei nicht gefunden wird.

Beispiel

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

Ausgabe:

np std
So öffnen Sie eine Datei in Java

Java-Nio-Paket

readAllLines()-Methode : Die Methode readAllLines() ist die Methode der File-Klasse. Es liest alle Zeilen aus einer Datei und Bytes aus der Datei werden mithilfe des UTF-8-Zeichensatzes in Zeichen dekodiert. Es gibt die Zeilen aus der Datei als Liste zurück. Die Signatur der Methode lautet:

 public static List readAllLines(Path path) throws IOException 

Wobei Pfad der Dateipfad ist.

Die obige Methode entspricht dem Aufruf des Folgenden:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Collections.emptyList(): Die Methode emptyList() ist die Methode der Collection-Klasse, die zum Paket java.util gehört. Es wird verwendet, um eine leere Liste zu erhalten. Die Signatur der Methode lautet:

 public static final List emptyList() 

Beispiel

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

Ausgabe:

So öffnen Sie eine Datei in Java