Wie kann ich Zeichen bis zu einem bestimmten in Java lesen?

marianod323

Ich möchte ein paar Wörter aus einer Datei lesen. Ich habe keine Methode gefunden, um dies zu tun, also habe ich beschlossen, char by char zu lesen , aber ich muss an den Leerzeichen anhalten, um das gelesene Wort in meinem Array zu speichern und zum nächsten zu wechseln.

Ich mache eine externe Sortieranwendung, deshalb habe ich eine Speicherbeschränkung, und in diesem Fall kann ich nicht einfach verwenden, readLine()und dann split()muss ich die Kontrolle darüber haben, was ich lese.

Die read()Methode gibt ein int zurück und ich habe keine Ahnung, was ich tun kann, read()um ein Zeichen zurückzugeben und das Lesen nach einem Leerzeichen zu beenden.

Dies ist mein Code bis jetzt:

protected static String [] readWords(String arqName, int amountOfWords) throws IOException {
    FileReader arq = new FileReader(arqName);
    BufferedReader lerArq = new BufferedReader(arq);

    String[] words = new String[amountOfWords];

    for (int i = 0; i < amountOfWords; i++){
        //words[i] = lerArq.read();
    }

    return words;
}

Edit 1: Ich habe einen Scanner verwendet und die next()Methode hat funktioniert. Die Initialisierung des Scanners erfolgt am Main.

static String [] readWords(int amountOfWords, Scanner leitor) throws IOException {
    String[] words= new String[amountOfWords];

    for (int i = 0; i < amountOfWords; i++){
        words[i] = leitor.next();
    }

    return words;
}
Appa Yip Yip

Wenn Sie es char für char lesen möchten (damit Sie mehr Kontrolle darüber haben, was Sie speichern möchten und was nicht), können Sie Folgendes ausprobieren:

import java.io.BufferedReader;
import java.io.IOException;

[...]

public static String readNextWord(BufferedReader reader) throws IOException {
    StringBuilder builder = new StringBuilder();

    int currentData;

    do {
        currentData = reader.read();

        if(currentData < 0) {
            if(builder.length() == 0) {
                return null;
            }
            else {
                return builder.toString();
            }
        }
        else if(currentData != ' ') {
            /* Since you're talking about words, here you can apply
             * a filter to ignore chars like ',', '.', '\n', etc. */

            builder.append((char) currentData);
        }

    } while (currentData != ' ' || builder.length() == 0);

    return builder.toString();
}

Und dann nenne es so:

String[] words = new String[amountOfWordsToRead];

for (int i = 0; i < amountOfWordsToRead; i++){
    words [i] = readNextWord(yourBufferedReader);
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie kann ich eine Zeichenfolge bis zu einem bestimmten Zeichen analysieren und nichts nach diesem Zeichen?

Lesen aus einer Datei bis zu einem bestimmten Zeichen in Java

Wie suche ich nach einer Teilzeichenfolge in einer Zeichenfolge bis zu einem bestimmten Zeichen in Java?

Lesen einer Datei bis zu einem bestimmten Zeichen in Python

Wie entferne ich in Liquid bis zu einem bestimmten Zeichen aus einer Zeichenfolge?

Wie schneide ich einen String bis zu einem bestimmten Zeichen in Go?

Wie bekomme ich eine Zeichenfolge bis zu einem bestimmten Zeichen in Python?

Wie lösche ich Zeilen aus einer Datei bis zu einem bestimmten Zeichen? [Python]

Wie lese ich ein Zeichen bis zu einem Zeichen?

Wie kann ich Regex verwenden, um 1 oder 2 Zeichen nach einem bestimmten Zeichen zu erhalten?

Wie bekomme ich in Java Teilzeichenfolgen von einem String bis zu einem Zeichen c?

Datei bis zu einem Zeichen lesen

Wie kann ich bis zu einem bestimmten Bereich innerhalb der Liste eine Schleife erstellen?

Wie kann ich diese Schleife bis zu einem bestimmten Punkt wiederholen lassen?

Wie kann ich mein Arduino dazu bringen, nur ein bestimmtes Zeichen von einem Webserver zu lesen?

Lesen Sie die Zeilen von stdin bis zu einem bestimmten Zeichen

Wie kann serial.read_ bis zu einem bestimmten Bytewert?

Wie rufe ich Nachrichten bis zu einem bestimmten Datum ab?

Wie kann ich einen Zähler erstellen, der bis zu einer bestimmten Uhrzeit und einem bestimmten Datum herunterzählt?

Wie kann ich nur Ziffern nach einem bestimmten Zeichen extrahieren?

Wie kann ich aus einem bestimmten Rohdateideskriptor in Rust lesen?

Wie kann ich Text aus einem bestimmten Fenster lesen?

Wie kann ich überprüfen, ob ein Zeichen aus einem bestimmten Zeichensatz in Java stammt?

Wie kann ich Ereignisse in Java zu einem bestimmten Datum und einer bestimmten Uhrzeit auslösen?

Wie kann ich die Anzahl der Commits von der Github-API bis zu einem bestimmten Zweig abrufen?

C #, Wie kann ich Befehle zu einem Linux-SBC (BeagleBone) über eine serielle Schnittstelle in einer bestimmten Reihenfolge lesen / schreiben?

Wie kann ich einen Discord-Bot dazu bringen, Daten aus einem bestimmten Bereich eines Google Sheet zu lesen?

Wie bekomme ich in Swift 4 eine Teilzeichenfolge von einem bestimmten Zeichen bis zum Ende der Zeichenfolge?

Wie kann ich Strings nach bestimmten Zeichen (wie '=') aus Dateien lesen?

TOP Liste

  1. 1

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  2. 2

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  3. 3

    TypeAhead.js zeigt keine Ausgangsschienen an?

  4. 4

    Deklarieren einer nicht initialisierten Variablen in der Klassendefinition in Python

  5. 5

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  6. 6

    spring-data-jpa: ORA-01795: Die maximale Anzahl von Ausdrücken in einer Liste beträgt 1000

  7. 7

    Warum funktioniert Phantomjs nicht mit dieser Site?

  8. 8

    Interpolieren Sie mit Python die 2D-Matrix entlang der Spalten

  9. 9

    numpy: Berechnen Sie die Ableitung der Softmax-Funktion

  10. 10

    Wie vermeide ich, dass die gesamte App neu geladen wird, wenn Nav.Link von React-Bootstrap verwendet wird?

  11. 11

    MongoDB eingebettetes Dokument unterscheiden und filtern

  12. 12

    Aktualisieren des Werts im Json-Objekt in Python

  13. 13

    Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

  14. 14

    Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist

  15. 15

    Wie verwende ich Format-Table ohne Abschneiden von Werten?

  16. 16

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  17. 17

    Überprüfen Sie, ob der ausgewählte Wert 'YES' ist, wenn ja, aktivieren Sie ein Steuerelement mit Javascript

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Holen Sie sich verwandte Pillen Inhalt mit angeklickten img in Angular

  20. 20

    Eclipse Oxygen - Projekte verschwinden

  21. 21

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

heißlabel

Archiv