Maison  >  Article  >  Est-il possible de sauter EOF lors de la lecture d'une entrée ?

Est-il possible de sauter EOF lors de la lecture d'une entrée ?

WBOY
WBOYavant
2024-02-09 11:20:09738parcourir

L'éditeur php Banana est là pour répondre à une question courante : "EOF peut-il être ignoré lors de la lecture d'une entrée ?" En PHP, EOF fait référence à "Fin du fichier", qui est la marque à la fin du fichier. Lorsque nous lisons un fichier, nous utilisons généralement une boucle pour lire ligne par ligne jusqu'à atteindre la fin du fichier. Cependant, nous pouvons parfois souhaiter ignorer EOF et continuer à lire la ligne suivante dans certaines situations. Heureusement, PHP fournit les méthodes correspondantes pour répondre à cette exigence. Nous pouvons utiliser la fonction feof() pour déterminer si la fin du fichier a été atteinte, puis la combiner avec la fonction fgets() pour lire la ligne suivante. De cette façon, nous pouvons ignorer EOF et réaliser des opérations de lecture de fichiers flexibles.

Contenu de la question

Après avoir capturé l'eof, si j'essaie de lire à nouveau les informations de l'entrée, je n'obtiens plus de nouvelles informations. Existe-t-il un moyen de récupérer les données de lecture ?

Scanner s = new Scanner(System.in);
while (s.hasNextInt()) {
    A[i] = s.nextInt();
    i++;
}

Solution de contournement

Si le flux indique EOF, cela signifie que vous avez tout consommé. Il n'y a rien d'autre à lire. Si l'implémentation du flux le permet, vous pouvez "rembobiner" le flux et relire les mêmes octets. Sinon, fermez-le.

C'est comme manger tout le pain. Après cela, il n’y avait plus de pain à manger. Continuez et trouvez autre chose à manger.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer