Heim Java javaLernprogramm In Java implementierte Techniken und Anwendungen zum Lesen und Schreiben von Dateien

In Java implementierte Techniken und Anwendungen zum Lesen und Schreiben von Dateien

Jun 18, 2023 am 08:34 AM
应用实例 文件处理技巧 java文件读写

Java ist eine High-Level-Programmiersprache mit sehr leistungsstarken Funktionen zum Lesen und Schreiben von Dateien. In diesem Artikel stellen wir die Techniken und Anwendungen des Lesens und Schreibens von Java-Dateien vor.

1. Grundlagen des Lesens und Schreibens von Java-Dateien

1.1 Lesen von Dateien

Die am häufigsten verwendete Methode zum Lesen von Dateien in Java ist die Verwendung der BufferedReader-Klasse. Hier ist ein einfaches Beispiel:

try{
    BufferedReader br = new BufferedReader(new FileReader("input.txt"));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein BufferedReader-Objekt, das die Datei input.txt mithilfe der FileReader-Klasse liest. Anschließend lesen wir jede Zeile in der Datei und geben sie auf der Konsole aus.

1.2 Dateien schreiben

Die am häufigsten verwendete Methode zum Schreiben von Dateien in Java ist die Verwendung der PrintWriter-Klasse. Hier ist ein einfaches Beispiel:

try{
    PrintWriter pw = new PrintWriter("output.txt");
    pw.println("Hello, world!");
    pw.close();
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein PrintWriter-Objekt, das die Ausgabe in die Datei „output.txt“ schreibt. Dann schreiben wir eine Zeile mit der Zeichenfolge „Hello, world!“ in die Datei und schließen schließlich das PrintWriter-Objekt.

1.3 Lesen und Schreiben von Binärdateien

Neben Textdateien kann Java auch Binärdateien lesen und schreiben. Hier ist ein einfaches Beispiel:

try{
    FileInputStream fis = new FileInputStream("input.bin");
    int data = fis.read();
    while (data != -1) {
        System.out.println(data);
        data = fis.read();
    }
    fis.close();
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein FileInputStream-Objekt, das die Datei input.bin im Binärmodus öffnet. Anschließend lesen wir die Daten mithilfe eines einzelnen Bytes Byte für Byte aus der Datei und geben sie auf der Konsole aus. Zum Schluss schließen wir das FileInputStream-Objekt.

2. Fähigkeiten zum Lesen und Schreiben von Java-Dateien

2.1 Dateizeichenkodierung

Bei der Verarbeitung von Textdateien in Java müssen Sie besonders auf die Zeichenkodierung der Datei achten. Wenn die Codierung der Datei nicht der standardmäßigen UTF-8-Codierung von Java entspricht, müssen Sie zum Lesen oder Schreiben der Datei einen geeigneten Encoder verwenden. Das Folgende ist ein Beispiel für das Lesen einer UTF-16-codierten Datei:

try{
    BufferedReader br = new BufferedReader(new InputStreamReader(
            new FileInputStream("input.txt"), "UTF-16"));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
    br.close();
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code lesen wir die Datei input.txt, indem wir das FileInputStream-Objekt in ein InputStreamReader-Objekt konvertieren und den UTF-16-Encoder angeben. Es ist wichtig zu beachten, dass das Lesen einer Textdatei mit einem falschen Encoder zu seltsamen Zeichen oder Codierungsfehlern führen kann. Achten Sie daher unbedingt auf die Codierung der Datei.

2.2 Lesen und Schreiben großer Dateien

Besonderes Augenmerk muss auf die Speichernutzung gelegt werden, wenn große Dateien verarbeitet werden. Wenn Sie die gesamte Datei auf einmal in den Speicher einlesen, kann es zu einem Speicherverlust oder einem Programmabsturz kommen. Sie können also Java NIO (New I/O) verwenden, um große Dateien Zeile für Zeile zu lesen. Das Folgende ist ein Beispiel für das Lesen einer großen Datei:

try{
    RandomAccessFile raf = new RandomAccessFile("input.txt", "r");
    FileChannel fc = raf.getChannel();
    ByteBuffer buf = ByteBuffer.allocate(1024);
    while (fc.read(buf) != -1) {
        buf.flip();
        byte[] bytes = new byte[buf.limit()];
        buf.get(bytes);
        System.out.print(new String(bytes, Charset.forName("UTF-8")));
        buf.clear();
    }
    fc.close();
    raf.close();
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein RandomAccessFile-Objekt und verwenden das RandomAccessFile-Objekt, um ein FileChannel-Objekt zu erstellen. Dann erstellen wir ein ByteBuffer-Objekt mit einer Größe von 1024 Bytes. Dann verwenden wir das FileChannel-Objekt, um die Daten in das ByteBuffer-Objekt einzulesen, verwenden das ByteBuffer-Objekt, um die Daten in ein Byte-Array zu konvertieren, und verwenden den UTF-8-Encoder, um das Byte-Array in einen String zu konvertieren. Zum Schluss löschen wir das ByteBuffer-Objekt, damit wir beim nächsten Mal Daten lesen können.

2.3 Große Dateien schreiben

Beim Umgang mit großen Dateien müssen Sie auch besonders darauf achten, die Datei in geeignete Größen aufzuteilen und Zeile für Zeile zu schreiben. Das Folgende ist ein Beispiel für das Schreiben einer großen Datei:

try{
    PrintWriter pw = new PrintWriter(new File("output.txt"));
    for (int i = 0; i < 1000000; i++) {
        pw.println("Line #" + i);
        if (i % 10000 == 0) {
            pw.flush();
        }
    }
    pw.close();
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein PrintWriter-Objekt, das die Ausgabe in die Datei „output.txt“ schreibt. Dann schreiben wir 1.000.000 Datenzeilen in einer Schleife und leeren den Puffer alle 10.000 Zeilen, um die Daten auf die Festplatte zu schreiben. Zum Schluss schließen wir das PrintWriter-Objekt.

3. Anwendungen zum Lesen und Schreiben von Java-Dateien

3.1 Kopieren von Dateien

Eine der am häufigsten verwendeten Anwendungen für Funktionen zum Lesen und Schreiben von Java-Dateien ist das Kopieren von Dateien. Das Folgende ist ein einfaches Beispiel für eine Dateikopie:

try{
    FileInputStream fis = new FileInputStream("input.txt");
    FileOutputStream fos = new FileOutputStream("output.txt");
    byte[] buffer = new byte[1024];
    int count;
    while ((count = fis.read(buffer)) != -1) {
        fos.write(buffer, 0, count);
    }
    fis.close();
    fos.close();
} catch(IOException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein FileInputStream-Objekt, um die Datei input.txt zu lesen. Dann haben wir ein FileOutputStream-Objekt erstellt, um Daten in die Datei „output.txt“ zu schreiben. Als nächstes erstellen wir einen Byte-Array-Puffer, um die Datei Block für Block zu kopieren. Schließlich durchlaufen wir alle Daten in der Datei und schreiben sie in die Ausgabedatei.

3.2 Berechnung des Datei-Hash-Werts

Die Java-Funktion zum Lesen und Schreiben von Dateien kann auch zur Berechnung des Hash-Werts (Hash) der Datei verwendet werden. Das Folgende ist ein Beispiel für die Berechnung des Hash-Werts einer Datei:

try{
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    FileInputStream fis = new FileInputStream("input.txt");
    byte[] buffer = new byte[1024];
    int count;
    while ((count = fis.read(buffer)) != -1) {
        md.update(buffer, 0, count);
    }
    fis.close();
    byte[] digest = md.digest();
    System.out.println(DatatypeConverter.printHexBinary(digest));
} catch(IOException | NoSuchAlgorithmException e){
    e.printStackTrace();
}
Nach dem Login kopieren

In diesem Code erstellen wir zunächst ein MessageDigest-Objekt und verwenden den SHA-256-Verschlüsselungsalgorithmus. Dann haben wir ein FileInputStream-Objekt erstellt, um die Datei input.txt zu lesen. Dann erstellen wir einen Byte-Array-Puffer, durchlaufen jedes Datenelement in der Datei und aktualisieren es im MessageDigest-Objekt. Abschließend schließen wir das FileInputStream-Objekt und verwenden das MessageDigest-Objekt, um den Hashwert der Datei zu berechnen und das Berechnungsergebnis in Form einer hexadezimalen Zeichenfolge an die Konsole auszugeben.

Fazit

Die Lese- und Schreibfunktionen von Java-Dateien sind sehr leistungsstark und können verschiedene Techniken flexibel verwenden, um unterschiedliche Lese- und Schreibanforderungen zu erfüllen, z. B. die Verarbeitung von Dateikodierungen, das Lesen und Schreiben großer Dateien, das Kopieren von Dateien und die Berechnung von Hash-Werten. Daher kann die Beherrschung der Fähigkeiten und Anwendungen zum Lesen und Schreiben von Java-Dateien dazu beitragen, die Entwicklungseffizienz und die Codequalität zu verbessern.

Das obige ist der detaillierte Inhalt vonIn Java implementierte Techniken und Anwendungen zum Lesen und Schreiben von Dateien. 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 KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

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)

In Java implementierter Schlüsselwortextraktionsalgorithmus und Anwendungsbeispiele In Java implementierter Schlüsselwortextraktionsalgorithmus und Anwendungsbeispiele Jun 18, 2023 pm 12:14 PM

In Java implementierte Schlüsselwortextraktionsalgorithmen und Anwendungsbeispiele Mit dem Aufkommen des Internetzeitalters ist es für Menschen sehr schwierig geworden, große Textdaten zu beschaffen und zu analysieren. Daher ist es notwendig, Technologien zur Verarbeitung natürlicher Sprache wie die Schlüsselwortextraktion zu erforschen und anzuwenden . Unter Schlüsselwortextraktion versteht man das Extrahieren von Wörtern oder Phrasen aus einem Textabschnitt, die das Thema des Textes am besten repräsentieren und Unterstützung für Aufgaben wie Textklassifizierung, -abfrage und -gruppierung bieten. In diesem Artikel werden mehrere in Java implementierte Schlüsselwortextraktionsalgorithmen und Anwendungsbeispiele vorgestellt. 1. TF-IDF-Algorithmus TF-IDF ist ein

Redis-Methoden und Anwendungsbeispiele zur Implementierung asynchroner Warteschlangen Redis-Methoden und Anwendungsbeispiele zur Implementierung asynchroner Warteschlangen May 11, 2023 pm 03:27 PM

Redis ist eine leistungsstarke speicherbasierte Schlüssel-Wert-Speicherdatenbank. Sie unterstützt nicht nur das Speichern von Schlüssel-Wert-Paaren, sondern auch einige komplexe Datenstrukturen wie List, Set, SortedSet und Hash. Die Datenstruktur List eignet sich sehr gut als Datenstruktur für asynchrone Warteschlangen, da sie das Einfügen und Löschen von Elementen an beiden Enden unterstützt. In diesem Artikel wird die Verwendung von Redis zum Implementieren asynchroner Warteschlangen vorgestellt und ein Anwendungsbeispiel gegeben. 1. Wie Redis asynchrone Warteschlangen-Lis in Redis implementiert

Redis-Methoden und Anwendungsbeispiele zur Implementierung verteilter Warteschlangen Redis-Methoden und Anwendungsbeispiele zur Implementierung verteilter Warteschlangen May 11, 2023 pm 05:14 PM

Als leistungsstarke In-Memory-Datenbank wird Redis häufig in verteilten Systemen eingesetzt. Unter ihnen sind verteilte Warteschlangen als eine der wichtigen Komponenten verteilter Systeme zweifellos sehr wichtig. Dieser Artikel konzentriert sich auf die verteilten Eigenschaften von Redis und stellt die Methoden und Anwendungsbeispiele von Redis zur Implementierung verteilter Warteschlangen vor. 1. Redis-verteilte Funktionen Als In-Memory-Datenbank bietet Redis eine hervorragende Leistung in Bezug auf Caching, Persistenz und andere Aspekte. In verteilten Systemen verfügt Redis auch über eine sehr herausragende Funktion, nämlich Re

Redis-Methoden und Anwendungsbeispiele zur Realisierung verteilter Koordination Redis-Methoden und Anwendungsbeispiele zur Realisierung verteilter Koordination May 11, 2023 pm 03:27 PM

Redis-Methoden und Anwendungsbeispiele zur Implementierung verteilter Koordination In verteilten Systemen ist die Koordination zwischen Knoten ein zentrales Thema. Herkömmliche Lösungen verwenden normalerweise einen zentralen Knoten, um andere Knoten zu koordinieren. Dies bringt jedoch Probleme wie Single Points of Failure und Leistungsengpässe mit sich. In den letzten Jahren hat sich Redis als leistungsstarke In-Memory-Datenbank immer weiter verbreitet. In Redis können seine Datenstruktur und sein Befehlssatz verwendet werden, um verteilte Koordinationsfunktionen zu implementieren und so ein hochverfügbares und leistungsstarkes verteiltes System zu erreichen. In diesem Artikel wird Re vorgestellt

Fünf Fälle, die man kennen muss, um die Canvas-JS-Technologie zu verstehen Fünf Fälle, die man kennen muss, um die Canvas-JS-Technologie zu verstehen Jan 17, 2024 am 08:05 AM

Anwendungsbeispiele für die CanvasJS-Technologie: Fünf Fälle, die Sie kennen müssen. Einführung: Das Aufkommen von HTML5 hat der Webentwicklung neue Möglichkeiten eröffnet, insbesondere das Canvas-Element, das eine leistungsstarke Möglichkeit zum Zeichnen von Grafiken und Animationen auf der Seite bietet. In Kombination mit der Leistungsfähigkeit von JavaScript können Entwickler Canvas verwenden, um eine Vielzahl cooler Effekte und Interaktionen zu erzielen und das Benutzererlebnis zu verbessern. In diesem Artikel werden fünf erstaunliche CanvasJS-Anwendungsbeispiele vorgestellt und relevante Informationen bereitgestellt

Anwendungsbeispiele von Redis in Empfehlungssystemen Anwendungsbeispiele von Redis in Empfehlungssystemen May 12, 2023 am 11:21 AM

Anwendungsbeispiele von Redis in Empfehlungssystemen Mit der Entwicklung des Internets und dem explosionsartigen Wachstum von Informationen ist die Informationsüberflutung zu einem großen Problem geworden, das den Zugang der Menschen zu Informationen beeinträchtigt. Daher wurde das Empfehlungssystem entsprechend den Anforderungen der Zeit entwickelt. Es kann das Benutzerverhalten mithilfe von Algorithmen vorhersagen und personalisierte Empfehlungsdienste bereitstellen, was die Benutzererfahrung und die Produktgewinne erheblich verbessert. Die Implementierung des Empfehlungssystems erfordert eine große Menge an Datenspeicherung, -verarbeitung und -berechnung, und Redis ist eine hervorragende Lösung. Redis ist eine leistungsstarke NoSQL-Datenbank.

Anwendungsbeispiele von Redis in der Datenvisualisierung Anwendungsbeispiele von Redis in der Datenvisualisierung May 11, 2023 pm 04:29 PM

Anwendungsbeispiele von Redis in der Datenvisualisierung In den letzten Jahren hat sich die Datenvisualisierung zu einem wichtigen Bindeglied in der Datenanalyse und Entscheidungsfindung entwickelt. Durch Visualisierungstools können Datenanalysten und Entscheidungsträger die Datensituation klarer und intuitiver verstehen, um bessere Entscheidungen zu treffen. Die Herausforderungen, die Big Data mit sich bringt, veranlassen uns auch dazu, die Datenvisualisierung weiter zu erforschen und zu innovieren. In diesem Artikel werden die Anwendungsbeispiele von Redis in der Datenvisualisierung vorgestellt. Anhand dieser Beispiele können wir die Ökologie und den Wert von Redis in der Datenvisualisierung besser verstehen.

Namespace-Konfiguration und Anwendungsbeispiele in PHP Namespace-Konfiguration und Anwendungsbeispiele in PHP Jun 25, 2023 am 08:32 AM

PHP ist eine äußerst flexible Programmiersprache mit einem breiten Anwendungsspektrum. Um Namenskonflikte zu vermeiden und die Lesbarkeit und Wartbarkeit des Codes zu verbessern, führt PHP in der PHP-Entwicklung das Konzept des Namespace ein. Namespaces helfen Entwicklern, denselben Klassen- oder Funktionsnamen im selben Projekt ohne Konflikte zu verwenden. In diesem Artikel werden die Konfiguration von Namespaces in PHP und allgemeine Anwendungsbeispiele vorgestellt. 1. So konfigurieren Sie den PHP-Namespace, indem Sie am Anfang der Datei den Namespace verwenden.

See all articles