Java: le Tri des lignes du fichier texte
Je suis en utilisant eclipse et je suis en train de trier un fichier texte avec environ 40 lignes qui ressemblent à ceci:
1,Terminator,1984,Schwarzenegger
2,Avatar,2009,Worthington
3,Avengers,2012,Downey
4,Starwars,1977,Hammill
5,Alien,1979,Weaver
Je veux les trier par ordre alphabétique par le deuxième champ, de sorte que le fichier texte est modifié pour ressembler à ceci:
5,Alien,1979,Weaver
2,Avatar,2009,Worthington
3,Avengers,2012,Downey
4,Starwars,1977,Hammill
1,Terminator,1984,Schwarzenegger
Je suis assez certain que je devrais faire quelque chose avec les jetons (ce qui je l'ai déjà fait pour l'afficher) et un BufferedWriter mais je ne peux pas pour la vie de me faire penser à un moyen de le faire par le deuxième ou le troisième champ et j'ai l'impression de rater quelque chose d'évident.
Ce sujet nous montrer ton code?
Avez-vous envisagé de faire cela avec le langage de script comme
Voir : stackoverflow.com/questions/740936/...
Avez-vous envisagé de faire cela avec le langage de script comme
python
? Ce serait comme de 3-4 lignes de code.Voir : stackoverflow.com/questions/740936/...
OriginalL'auteur Deoff | 2013-10-21
Vous devez vous connecter pour publier un commentaire.
Vous allez tout d'abord, bien sûr, lire un fichier, vous pouvez apprendre à le faire ici.
Java: Comment lire un fichier texte
Cet exemple fournira plusieurs façons vous pouvez écrire le fichier une fois que vous avez trié vos données.
Comment puis-je créer un fichier et écrire en Java?
Comme pour le tri, je vous recommande de créer une classe Film, qui serait similaire à
Mal le laisser à vous de remplir le reste du constructeur et de la méthode compareTo. Une fois que vous avez votre méthode compareTo vous serez en mesure d'appeler les Collections.de tri(Liste) en passant votre liste de Film.
Voici quelques ressources sur la mise en œuvre de Comparable.
http://docs.oracle.com/javase/tutorial/collections/interfaces/order.html
Pourquoi une classe Java en œuvre comparable?
OriginalL'auteur Tyler
Votre comparateur de
Votre Tri
Votre Sortie
Si vous avez le moindre doute sur ce laissez-moi savoir..
OriginalL'auteur Prabhakaran
La classe String possède une très utile méthode statique appelé "le split". Tout ce que vous faire est de téléphoner à split et le mettre dans le séparateur et elle renvoie un tableau de chaînes avec la scission de la chaîne.
Voici un exemple:
Le code ci-dessus affichera le texte suivant:
J'espère que vous pouvez l'utiliser et l'adapter à votre problème.
Bonne chance!
OriginalL'auteur Andrew Schuster
Ce que vous voulez faire est d'utiliser
java.util.Comparator
etCollections.sort
. Plus sur ce qui peut être trouvé: http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.htmlOriginalL'auteur AppX
Suivant @Tyler réponse. Vous pouvez avoir une implémentation par défaut dans le Film de classe et de supplémentaires de l'ordre de tri que vous pouvez mettre en œuvre en appelant
Collections.sort(movieList, new MyComparator());
Voici un exemple de deux.Et si vous voulez faire votre propre comparateur appelée sur votre collection:
OriginalL'auteur AppX
Essayer comme ceci :--
OriginalL'auteur Hussain Shabbir
Cette solution utilise Java 8 Api.
Vous n'avez pas vraiment besoin d'une mise en œuvre explicite de
Comparator
ou créer unComparable
classe. À l'aide deComparator.comparing
avec lambda, nous pouvons élégamment trier les lignes par clé personnalisée.OriginalL'auteur diziaq