5 votes

Comment obtenir les 1 derniers mb de données d'un fichier texte en utilisant un code java ?

J'ai un fichier journal de 500 mb dans le serveur (fichier .txt). Comme nous le savons tous, il y aura un problème si je lis le fichier entier en utilisant le code Java et cela peut causer un problème d'utilisation de l'application. Je n'ai aucune idée de la façon d'obtenir les données du dernier Mo et je n'ai pas encore commencé le codage. Quelqu'un peut-il me donner une suggestion ?

Merci d'avance,

Raj

1voto

Peter Lawrey Points 229686

J'ai un fichier journal de 500 mb dans le serveur (fichier .txt). Mon exigence est que je veux seulement les derniers 1 mb de données seulement.

Vous pouvez sauter jusqu'au dernier Mo et le lire. Vous risquez cependant d'obtenir une ligne incomplète.

Comme nous le savons tous, il y aura un problème si je lis le fichier entier en utilisant le code Java et cela peut causer un problème d'utilisation de l'application.

Seulement si vous le codez assez mal. Il n'y a aucune raison pour que cela se produise. Cependant, il n'y a aucune raison de lire 500 Mo si vous savez que vous n'avez besoin que du dernier 1 Mo.

Je n'ai aucune idée de la façon de récupérer les données du dernier Mo et je n'ai pas encore commencé le codage. Quelqu'un peut-il me donner une suggestion ?

Commencez à coder, lisez la documentation, épousez la fonction de saut.

1voto

romje Points 609

Pour votre problème, il suffit d'utiliser un fichier à accès aléatoire et de placer le curseur en utilisant la méthode seek() à la fin moins 1mb ... Veuillez lire la javadoc java.io.RandomAccessFile en particulier les commentaires sur la méthode seek()...

HTH Jerome

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X