Öffnen einer Datei in Java

Rupam Yadav 12 Oktober 2023
  1. Mit der Klasse Desktop eine Datei in Java öffnen
  2. Verwenden der FileInputStream-Klasse in Java
  3. Mit der Klasse BufferedReader eine Datei in Java öffnen
  4. Mit der Klasse Scanner eine Datei in Java öffnen
Öffnen einer Datei in Java

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 Yadav avatar Rupam Yadav avatar

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

Verwandter Artikel - Java File