Comment lire un fichier à partir d'un certain décalage dans Java?
Hé, je suis en train d'essayer d'ouvrir un fichier et de lire à partir d'un offset pour une certaine longueur!
J'ai lu ce sujet:
Comment lire une ligne spécifique en utilisant le numéro de ligne spécifique à partir d'un fichier en Java?
de là, il a dit qu'il n'est pas possible de lire une certaine ligne sans lire les lignes avant, mais je me demandais à propos des octets!
FileReader location = new FileReader(file);
BufferedReader inputFile = new BufferedReader(location);
//Read from bytes 1000 to 2000
//Something like this
inputFile.read(1000,2000);
Est-il possible de lire certains octets à partir d'une offset?
- Lire sur lecture des fichiers à l'aide de Java.
Seek
méthodes existent.
Vous devez vous connecter pour publier un commentaire.
RandomAccessFile expose une fonction:
FileInputStream.getChannel().position(123)
C'est une autre possibilité en plus de
RandomAccessFile
:Cela devrait être OK car les docs pour
FileInputStream#getChannel
dire que:Je ne sais pas comment cette méthode compare à
RandomAccessFile
cependant.RandomAccessFile
, car il vous permet de retourner laInputStream
être traitées à l'extérieur de votre méthode. Dans le cas de la RAF, si vous vouliez faire, vous ne seriez pas en mesure de fermer la RAF, donc d'avoir une fuite de ressources. À moins que j'ai mal compris quelque chose.