10
votes

Lire dans le caractère de fichier texte par caractère

en Java, existe-t-il une façon de lire un fichier (fichier texte) de manière à lire un seul caractère à la fois, plutôt que de chaîne par chaîne. Ceci est destiné à un analyseur lexical extrêmement basique, vous pouvez donc comprendre pourquoi je voudrais une telle méthode. Merci.


1 commentaires

En fait, je ne comprends pas; La manière dont vous gérez l'entrée n'est pas la même que de la façon dont vous la lisez. OMO Vous devez utiliser un lecteur tamponné et traiter le caractère d'entrée par caractère, pas explicitement la lire de cette manière.


4 Réponses :


3
votes

Vous pouvez lire le fichier entier (s'il n'est pas très grand) dans la mémoire en tant que chaîne et itérale sur le caractère de chaîne par caractère


1 commentaires

C'est une réponse, pensez-vous qu'il devrait contenir un code pour être une réponse!



7
votes

Voici un exemple de code pour la lecture / l'écriture d'un caractère à la fois

public class CopyCharacters {
    public static void main(String[] args) throws IOException {

        FileReader inputStream = null;
        FileWriter outputStream = null;

        try {
            inputStream = new FileReader("xanadu.txt");
            outputStream = new FileWriter("characteroutput.txt");

            int c;
            while ((c = inputStream.read()) != -1) {
                outputStream.write(c);
            }
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
            if (outputStream != null) {
                outputStream.close();
            }
        }
    }
}


2 commentaires

Avez-vous regardé le lien? Il montre comment lire un caractère de fichier texte par caractère.


Mise à jour de la réponse au cas où le lien est cassé.



4
votes

Vous pouvez utiliser le procédé de lecture à partir de la classe INPUTStreamReader qui lit un caractère à partir du flux et renvoie -1 lorsqu'il atteint la fin du flux xxx


0 commentaires

1
votes

Il y a plusieurs solutions possibles. Généralement, vous pouvez utiliser n'importe quel lecteur à partir de java.io pour les caractères de lecture, par exemple: xxx


0 commentaires