Je ne suis pas sûr si le titre est très clair, mais fondamentalement ce que je dois faire est de lire une ligne de texte à partir d'un fichier et le diviser jusqu'à 8 variables de chaîne différentes. Chaque ligne aura les mêmes 8 morceaux dans le même ordre (titre, auteur, prix, etc). Donc, pour chaque ligne de texte, je veux finir avec 8 chaînes.Quelle est la meilleure façon d'avoir stringTokenizer diviser une ligne de texte en variables prédéfinies
Le premier problème est que les deux derniers champs de la ligne peuvent ou ne peuvent pas être présents, donc je dois faire quelque chose avec stringTokenizer.hasMoreTokens, sinon il mourra mal quand les champs 7 et 8 ne sont pas présents. Je voudrais idéalement le faire dans un moment de la boucle for, mais je ne suis pas sûr de savoir comment dire à cette boucle ce que l'ordre des champs va être afin qu'il puisse remplir toutes les 8 (ou 6) chaînes correctement. S'il vous plaît dites-moi, il y a une meilleure façon d'utiliser 8 instructions imbriquées!
EDIT: La solution String.split en fait définitivement partie, donc je vais l'utiliser à la place de stringTokenizer. Cependant, je ne suis toujours pas sûr de la meilleure façon d'alimenter les chaînes individuelles dans le constructeur. Est-ce que la meilleure façon d'avoir la classe attend un tableau, puis il suffit de faire quelque chose comme ça dans le constructeur:
line[1] = isbn;
line[2] = title;
Nous avons besoin de voir un échantillon de vos données pour faire un choix éclairé. Avez-vous le contrôle sur le format de données? –