Importation de fichier texte Java question
-
13-09-2019 - |
Question
J'ai décidé de créer un convertisseur de devises en Java, et ont pour qu'il se retirerait les valeurs de conversion sur un fichier texte (pour permettre éditabilité facile car ces valeurs sont en constante évolution). J'ai réussi à le faire en utilisant la classe du scanner et de mettre toutes les valeurs dans un ArrayList.
Maintenant, je me demande s'il y a un moyen d'ajouter des commentaires au fichier texte pour l'utilisateur de lire, qui ne tiendra pas compte du scanner. "//" ne semble pas fonctionner.
Merci
La solution
La meilleure façon serait de lire la ligne de fichiers en ligne à l'aide java.io.BufferedReader
et analyser chaque ligne pour commentaires à l'aide String#startsWith()
où vous dans les recherches pour "//"
.
Mais vous avez envisagé d'utiliser un fichier de propriétés et de gérer à l'aide de la java.util.Properties
API? De cette façon, vous pouvez bénéficier d'un cahier des charges ready-made et API et vous pouvez utiliser # comme début de la ligne de commentaire. Voir aussi le tutoriel à sun.com .
Autres conseils
Scanner ignorer wont quoi que ce soit, vous devrez supprimer les commentaires de vos données après avoir lu dans.
Oui, while ((CurrentLine = bufferedReader.readLine ())! = Null) est peut-être le plus facile, puis effectuer vos tests nécessaires. currentLine.split (regex) est également très utile pour convertir une ligne dans un tableau de valeurs en utilisant un séparateur.
Avec Java nio, vous pouvez faire quelque chose comme ça. En supposant que vous voulez ignorer les lignes qui commencent par « // » et finir avec un ArrayList.
List<String> dataList;
Path path = FileSystems.getDefault().getPath(".", "data.txt");
dataList = Files.lines(path)
.filter(line -> !(line.startsWith("//")))
.collect(Collectors.toCollection(ArrayList::new));