Inhaltsverzeichnis
Dateilesen
FileInputStream:
BufferedReader:
Dateischreiben
FileOutputStream:
PrintWriter:
Dateikopie
Dateilöschung
Dateiumbenennung
Heim Java javaLernprogramm So implementieren Sie Lese- und Schreibvorgänge für Dateien in Java

So implementieren Sie Lese- und Schreibvorgänge für Dateien in Java

May 22, 2023 pm 01:18 PM
java

    Dateieingabe- und -ausgabevorgänge in Java sind eine grundlegende Aufgabe. In Java können Sie File und FileInputStream, FileOutputStream, BufferedReader, PrintWriter und andere Klassen verwenden, um Lese- und Schreibvorgänge für Dateien auszuführen.

    Dateilesen

    In Java können Sie die Klassen FileInputStream und BufferedReader zum Lesen von Dateien verwenden.

    FileInputStream:

    FileInputStream kann verwendet werden, um den Eingabestream einer geöffneten Datei im Dateisystem zu lesen. Es erbt von der InputStream-Klasse und stellt viele Methoden im Zusammenhang mit Datei-E/A bereit. Wir können damit eine Datei unter einem angegebenen Pfad öffnen und Daten aus der Datei lesen.

    FileInputStream inputStream = null;
    try {
        File file = new File("file.txt");
        inputStream = new FileInputStream(file);
        int content;
        while ((content = inputStream.read()) != -1) {
            // 处理读取到的字节
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    Nach dem Login kopieren

    Im obigen Code erstellen wir zunächst ein File-Objekt und verwenden dann FileInputStream, um den Inhalt der Datei zu lesen. Da FileInputStream jeweils nur ein Byte lesen kann, müssen wir eine While-Schleife verwenden, um jedes Byte kontinuierlich zu lesen. Wenn die Methode read() -1 zurückgibt, bedeutet dies, dass die gesamte Datei gelesen wurde.

    BufferedReader:

    Ein gepufferter Zeicheneingabestream kann von der Wrapper-Klasse BufferedReader umschlossen werden, um einen Zeicheneingabestream zu umschließen. Sein Vorteil besteht darin, dass mehrere Zeichen gleichzeitig gelesen werden können, wodurch die Effizienz beim Lesen von Dateien verbessert wird.

    BufferedReader reader = null;
    try {
        File file = new File("file.txt");
        FileReader fileReader = new FileReader(file);
        reader = new BufferedReader(fileReader);
        String content;
        while ((content = reader.readLine()) != null) {
            // 处理读取到的一行字符串
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    Nach dem Login kopieren

    Im obigen Code erstellen wir zunächst ein File-Objekt, konvertieren die Datei dann mit FileReader in einen Zeichenstrom und verpacken sie mit BufferedReader. Verwenden Sie zum Lesen des Inhalts jeder Zeile die Methode readLine(). Wenn diese Methode null zurückgibt, bedeutet dies, dass die gesamte Datei gelesen wurde.

    Dateischreiben

    In Java können Sie die Klassen FileOutputStream und PrintWriter zum Schreiben von Dateien verwenden.

    FileOutputStream:

    FileOutputStream ist ein Ausgabestream, der zur Ausgabe von Daten an das Dateisystem verwendet wird. Es ist eine Unterklasse der OutputStream-Klasse und verfügt über viele Methoden im Zusammenhang mit der Dateieingabe und -ausgabe. Wir können damit eine Datei unter dem angegebenen Pfad öffnen und Daten in die Datei schreiben.

    FileOutputStream outputStream = null;
    try {
        File file = new File("file.txt");
        outputStream = new FileOutputStream(file);
        String content = "Hello, world!";
        byte[] bytes = content.getBytes();
        outputStream.write(bytes);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (outputStream != null) {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    Nach dem Login kopieren

    Im obigen Code erstellen wir zunächst ein File-Objekt und verwenden dann FileOutputStream, um den Inhalt der Datei zu schreiben. Da FileOutputStream jeweils nur ein Byte oder ein Byte-Array schreiben kann, müssen wir die Zeichenfolge, die wir schreiben möchten, in ein Byte-Array konvertieren.

    PrintWriter:

    PrintWriter ist eine Wrapper-Klasse, die einen Zeichenausgabestrom in einen Druckausgabestrom umschließt. Es bietet praktische Methoden zur Ausgabe verschiedener Datentypen, einschließlich Zeichenfolgen, Zahlen usw. Darüber hinaus kann PrintWriter die geschriebenen Daten auch formatieren.

    PrintWriter writer = null;
    try {
        File file = new File("file.txt");
        FileWriter fileWriter = new FileWriter(file);
        writer = new PrintWriter(fileWriter);
        String content = "Hello, world!";
        writer.println(content);
    } catch (IOException e) {
        e.printStackTrace();
    }
    Nach dem Login kopieren

    Im obigen Code erstellen wir zuerst ein File-Objekt, konvertieren die Datei dann mit FileWriter in einen Zeichenstrom und verpacken sie mit PrintWriter. Hier verwenden wir die Funktion println() zum Schreiben der Zeichenfolge, die automatisch ein Zeilenumbruchzeichen am Ende der Zeichenfolge hinzufügt.

    Dateikopie

    In Java können Sie FileInputStream und FileOutputStream verwenden, um die Dateikopierfunktion zu implementieren.

    FileInputStream inputStream = null;
    FileOutputStream outputStream = null;
    try {
        File sourceFile = new File("source.txt");
        File targetFile = new File("target.txt");
        inputStream = new FileInputStream(sourceFile);
        outputStream = new FileOutputStream(targetFile);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, length);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (outputStream != null) {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    Nach dem Login kopieren

    Wir erstellen zunächst zwei File-Objekte in diesem Code, eines zur Darstellung der Quelldatei und das andere zur Darstellung der Zieldatei. Als nächstes verwenden Sie FileInputStream und FileOutputStream, um die Originaldatei zu lesen und in die Zieldatei zu schreiben. Zum Speichern der gelesenen Daten muss ein Puffer (Byte-Array) verwendet werden, da jeweils nur eine bestimmte Länge von Byte-Daten gelesen werden kann. Wenn schließlich die gesamte Datei gelesen wurde, werden die Eingabe- und Ausgabeströme geschlossen.

    Dateilöschung

    In Java können Sie die delete()-Methode der File-Klasse verwenden, um eine Datei zu löschen.

    File file = new File("file.txt");
    if (file.delete()) {
        System.out.println("文件删除成功!");
    } else {
        System.out.println("文件删除失败!");
    }
    Nach dem Login kopieren

    Wir verwenden ein File-Objekt, um die Datei zu löschen. Wir erstellen zuerst das Objekt und rufen dann seine Methode delete() auf. Bei erfolgreicher Dateilöschung wird „true“ zurückgegeben, während bei fehlgeschlagener Dateilöschung „false“ zurückgegeben wird.

    Dateiumbenennung

    In Java können Sie die renameTo()-Methode der File-Klasse verwenden, um die Dateiumbenennungsfunktion zu implementieren.

    File sourceFile = new File("source.txt");
    File targetFile = new File("target.txt");
    if (sourceFile.renameTo(targetFile)) {
        System.out.println("文件重命名成功!");
    } else {
        System.out.println("文件重命名失败!");
    }
    Nach dem Login kopieren

    Wir haben zuerst zwei Dateiobjekte instanziiert. Von diesen beiden Objekten repräsentiert eines den ursprünglichen Dateinamen und das andere den Zieldateinamen. Verwenden Sie die Methode renameTo(), um den ursprünglichen Dateinamen in den Namen der Zieldatei umzubenennen. Wenn „true“ zurückgegeben wird, bedeutet dies, dass die Dateiumbenennung erfolgreich war; wenn „false“ zurückgegeben wird, bedeutet dies, dass die Dateiumbenennung nicht erfolgreich war.

    Das obige ist der detaillierte Inhalt vonSo implementieren Sie Lese- und Schreibvorgänge für Dateien in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße Artikel -Tags

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

    Quadratwurzel in Java

    Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

    Perfekte Zahl in Java

    Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

    Zufallszahlengenerator in Java

    Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

    Armstrong-Zahl in Java

    Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

    Weka in Java

    Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

    Fragen zum Java Spring-Interview

    Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

    Smith-Nummer in Java

    Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

    Brechen oder aus Java 8 Stream foreach zurückkehren?

    See all articles