Je suis nouveau dans l'écriture de Qitta. De plus, puisque je suis un étudiant universitaire poussin, je vous serais reconnaissant de bien vouloir le lire étant donné qu'il y a une grande possibilité que des erreurs soient incluses.
Cet article est un résumé personnel de la classe Scanner fournie en standard avec Java. y a-t-il. En ce qui concerne le contexte de la rédaction de cet article, → La spécification dit qu'il devrait être fait en utilisant la classe Scanner. → Je ne sais pas ça. → J'ai pu le faire. → Faites une note quelque part pour ne pas l'oublier. C'est comme ça. À propos, j'utilise généralement BufferedReader ou FileReader /javase/jp/8/docs/api/java/io/FileReader.html) est utilisé. (Oui ici ...)
FileReader
try {
Scanner scanner = new Scanner (new File ("sourceFileName"/*Nom du fichier que vous souhaitez lire ici(Un laissez-passer est également requis dans certains cas)*/));
} catch (FileNotFoundException e) { //exception
//Que faire lorsque le fichier n'existe pas
e.printStackTrace();
}
La partie qui lit le fichier pour le moment. Lors de la création d'un objet, insérez l'objet de File class comme argument. La classe File conserve les informations de fichier lorsqu'un objet est créé avec le chemin du fichier comme argument. Pratique. Je pense que vous devriez le faire avec le constructeur.
ReadLine
try {
//Lorsque le fichier contient des parties non lues
if (scanner.hasNextLine()) {
line = scanner.nextLine() + '\n';
//Quand non
} else {
line = null;
}
//Erreur de lecture
} catch (IllegalStateException e) {
e.printStackTrace();
closeFile();
System.exit (1);
}
Nom de la méthode | mouvement |
---|---|
hasNextLine() | Renvoie vrai si le scanner a la ligne suivante |
nextLine() | Avancez le scanner et renvoyez une ligne |
line est une variable de type String et est conservée comme un champ cette fois. Si vous sortez cette ligne, le contenu du fichier sera sorti en toute sécurité. "\ N" est ajouté pour la sortie. Je pense qu'il est normal de briser la ligne dans la déclaration principale.
ReadChar
current = next;
if (next == '\0') {
//Seule opération courante à la fin du fichier
} else if (next == '\n') {
//Fin de ligne
readLine();
if (line != null) {
//La ligne lue n'est pas nulle
next = line.charAt (0);
number = 0;
} else {
//La ligne lue est nulle(Fin de fichier)dans le cas de
next = '\0'; //'\0'Représente la fin du fichier
}
} else {
//Si ce n'est ni la fin du fichier ni la fin de la ligne
next = line.charAt (++number);
}
return current;
Nom de variable | mouvement |
---|---|
current | Ligne en cours de lecture |
next | Ligne suivante à lire |
number | Nombre actuel de caractères |
Je l'ai fait en utilisant le readLine mentionné ci-dessus. Opérationnellement, il coupe ce qui a été lu ligne par ligne, caractère par caractère. Pour être honnête, c'est déraisonnable, mais il n'y a pas de spécification car les spécifications sont comme ça.
Je l'ai fait pour que cela fonctionne pour le moment. Tout ce qui reste est de sortir avec une instruction while ou similaire. En conclusion, c'est ennuyeux. Limité à cela. J'espère juste que les futurs étudiants dans une situation similaire n'auront pas de difficultés. Si vous rencontrez un problème, lisez d'abord le document officiel de l'API (en anglais)!
Recommended Posts