Java Scanner de reconnaissance de saut de ligne

Je ne trouve pas la documentation qui définit la façon dont un Scanner traite de saut de ligne les modèles par défaut. Je veux lire un fichier ligne par ligne et le scanner être capable de gérer les \r \n ou \r\n de fin de ligne, quel que soit le système, le programme est en cours d'exécution sur.

Si je déclare un scanner comme suit:

Scanner scanner = new Scanner(reader);

ce qui est le comportement par défaut? Il va gérer tous les trois types décrits ci-dessus ou dois-je le dire explicitement de le faire?

Essayez et voyez ce qui se passe. Créer 3 fichiers différents, chacune utilisant un autre en fin de vie de la chaîne.
En fait, c'est un cas où "l'essayer et voir" ne va pas vous donner une réponse complète!
C La question posée, si elle s'occupe des "\r", "\n" ou "\r\n". Ceci est facilement testés et vérifiés. Oui la réponse est qu'il prend également en charge les caractères unicodes, mais ce n'était pas la question. La bonne question aurait été "par tester le Scanner, je l'ai remarqué support \r \n \r\n, et quoi d'autre?". L'affiche a pris le paresseux et ne sera jamais apprendre de simples techniques de résolution de problème si les gens continuent à spoonfeeding des réponses qui sont facilement testés.
peu d'essais ont montré que cela est vrai.", qui vous ont fait avant de poster la question!
Aussi loin que je peux voir, camickr, vous n'êtes pas d'aider cette discussion. À la fois la question par Duracell et la réponse donnée par David/Stephen C sont valides. Juste essayer ce n'est pas la solution, surtout depuis le Scanner ne permet pas de définir clairement ce qu'est un séparateur de ligne de est - de sorte qu'il peut être différent entre les implémentations de Java runtime.

OriginalL'auteur Anthony | 2011-05-07