Öffnen einer Datei in Java
-
Mit der Klasse
Desktop
eine Datei in Java öffnen - Verwenden der FileInputStream-Klasse in Java
-
Mit der Klasse
BufferedReader
eine Datei in Java öffnen -
Mit der Klasse
Scanner
eine Datei in Java öffnen
Es gibt viele Möglichkeiten, eine Datei in Java zu öffnen. Wir werden einige davon hier in diesem Artikel besprechen.
Mit der Klasse Desktop
eine Datei in Java öffnen
Das Java AWT-Paket verfügt über eine Java-Klasse Desktop
, mit der registrierte Anwendungen auf dem nativen Desktop gestartet werden, um eine Datei oder einen URI zu verarbeiten. Die Implementierung ist plattformabhängig; Daher ist zu prüfen, ob das Betriebssystem Desktop
unterstützt oder nicht. Es wirft FileNotFoundException
, wenn keine registrierte Anwendung vorhanden ist oder sie nicht gestartet werden kann.
Die Klasse Desktop
hat die Methode open()
, die die registrierte Anwendung startet, um eine Datei zu öffnen, die als Argument verwendet wird.
Wir erstellen ein neues Klassenobjekt File
und übergeben den Pfad zur Textdatei als Argument. Es wird sofort zurückgegeben, wenn Desktop.isDesktopSupported()
false zurückgibt, wenn das System den Desktop nicht unterstützt. Wir erhalten die Desktop
-Instanz desktop
des aktuellen Browserkontextes.
Wir verwenden die Methode exists()
auf dem file
-Objekt, um zu prüfen, ob die Datei existiert. Wir rufen desktop.open()
auf, um die Datei im Standard-Texteditor zu öffnen.
import java.awt.*;
import java.io.File;
public class OpenFile {
public static void main(String args[]) {
try {
File file = new File("/Users/john/Desktop/demo.txt");
if (!Desktop.isDesktopSupported()) {
System.out.println("not supported");
return;
}
Desktop desktop = Desktop.getDesktop();
if (file.exists())
desktop.open(file);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Verwenden der FileInputStream-Klasse in Java
Die Klasse FileInputStream
wird verwendet, um byteorientierte Daten wie Audio, Bilddaten, Video usw. zu lesen. Sie kann auch zum Lesen von Zeichenströmen verwendet werden, wenn sie Eingabebytes aus Dateien erhält. Daher kann es zum Öffnen und Lesen von Dateien verwendet werden. Zum Lesen von Dateien wird jedoch die Klasse FileReader
empfohlen.
Wir erstellen einen FileInputStream fIS
, um aus dem Dateiobjekt f
in unserem Code zu lesen. Wir lesen den Inhalt der Datei und schreiben ihn auf das Terminal. In der Schleife while
lesen wir die Zeichen des Streams, bis die Methode read()
-1 zurückgibt.
import java.io.File;
import java.io.FileInputStream;
public class OpenFile {
public static void main(String args[]) {
try {
File f = new File("/Users/john/Desktop/demo.txt");
FileInputStream fIS = new FileInputStream(f);
System.out.println("file content: ");
int r = 0;
while ((r = fIS.read()) != -1) {
System.out.print((char) r);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ausgabe:
file content:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eget quam malesuada, molestie nibh id, vestibulum libero. Vestibulum sed ligula ut ligula bibendum pharetra. Suspendisse est odio, euismod vel porta ac, dapibus at lorem. In a leo vestibulum, commodo erat eget, cursus purus. Integer hendrerit orci eu erat pretium hendrerit. Etiam dignissim tempus orci. Etiam suscipit non sapien vitae condimentum. Fusce nec molestie nulla. Cras ut vestibulum tortor. Duis velit mi, dapibus vel scelerisque vitae, sagittis vitae purus. Ut et tempus eros, id scelerisque dolor. In suscipit ante sem.
Mit der Klasse BufferedReader
eine Datei in Java öffnen
Die BufferedReader-Klasse liest Text aus einem zeichenbasierten Eingabestream. Es braucht ein Reader-Objekt, das wir einem neuen FileReader
an seinen Konstruktor übergeben. FileReader
ist eine praktische Klasse zum Lesen von Zeichendateien.
BufferedReader erstellt einen puffernden Zeicheneingabestrom, der eine Standardgröße verwendet. Wir lesen aus dem Stream, bis die Methode read()
-1 zurückgibt und die Ausgabe der Datei ausgibt.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class OpenFile {
public static void main(String args[]) {
try {
File fil = new File("/Users/john/Desktop/demo2.txt");
BufferedReader br = new BufferedReader(new FileReader(fil));
System.out.println("file content: ");
int r = 0;
while ((r = br.read()) != -1) {
System.out.print((char) r);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ausgabe:
file content:--
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eget quam malesuada, molestie nibh id, vestibulum libero. Vestibulum sed ligula ut ligula bibendum pharetra. Suspendisse est odio, euismod vel porta ac, dapibus at lorem. In a leo vestibulum, commodo erat eget, cursus purus. Integer hendrerit orci eu erat pretium hendrerit. Etiam dignissim tempus orci. Etiam suscipit non sapien vitae condimentum. Fusce nec molestie nulla. Cras ut vestibulum tortor. Duis velit mi, dapibus vel scelerisque vitae, sagittis vitae purus. Ut et tempus eros, id scelerisque dolor. In suscipit ante sem.
Mit der Klasse Scanner
eine Datei in Java öffnen
Die Klasse Scanner
in Java gehört zum Paket java.util
. Es kann primitive Typen und Strings mit regulären Ausdrücken analysieren und zum Lesen von Daten aus Dateien verwendet werden. Wir erstellen ein Objekt der Klasse Scanner
, indem wir die Datei im Konstruktor angeben.
Wir lesen die Datei Zeile für Zeile mit der Methode hasNextLine()
und geben jede Zeile innerhalb der while-Schleife aus, bis wir eine nächste Zeile aus der Datei lesen können.
import java.io.File;
import java.util.Scanner;
public class OpenFile {
public static void main(String args[]) {
try {
File file = new File("/Users/john/Desktop/demo1.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) System.out.println(scanner.nextLine());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ausgabe:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eget quam malesuada, molestie nibh id, vestibulum libero. Vestibulum sed ligula ut ligula bibendum pharetra. Suspendisse est odio, euismod vel porta ac, dapibus at lorem. In a leo vestibulum, commodo erat eget, cursus purus. Integer hendrerit orci eu erat pretium hendrerit. Etiam dignissim tempus orci. Etiam suscipit non sapien vitae condimentum. Fusce nec molestie nulla. Cras ut vestibulum tortor. Duis velit mi, dapibus vel scelerisque vitae, sagittis vitae purus. Ut et tempus eros, id scelerisque dolor. In suscipit ante sem.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn