J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions
d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un
DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai
besoin par la suite d'aller chercher des informations dans la suite du
fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un
index pour la suite du fichier), je les charges en mémoire à l'execution du
programme. Est-il possible de faire celà "d'un coup" ?
En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est
une zone mémoire de nbInts entiers).
Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais
c'est trop long.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
no.bcausse.spam
Vincent Lascaux wrote:
Bonjour,
J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai besoin par la suite d'aller chercher des informations dans la suite du fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un index pour la suite du fichier), je les charges en mémoire à l'execution du programme. Est-il possible de faire celà "d'un coup" ? En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est une zone mémoire de nbInts entiers). Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais c'est trop long.
Merci
et BufferedInputStream c'est fait pour quoi a ton avis? -- bruno Causse http://perso.wanadoo.fr/othello
Vincent Lascaux <nospam@nospam.org> wrote:
Bonjour,
J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions
d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un
DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai
besoin par la suite d'aller chercher des informations dans la suite du
fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un
index pour la suite du fichier), je les charges en mémoire à l'execution du
programme. Est-il possible de faire celà "d'un coup" ?
En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est
une zone mémoire de nbInts entiers).
Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais
c'est trop long.
Merci
et BufferedInputStream c'est fait pour quoi a ton avis?
--
bruno Causse
http://perso.wanadoo.fr/othello
J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai besoin par la suite d'aller chercher des informations dans la suite du fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un index pour la suite du fichier), je les charges en mémoire à l'execution du programme. Est-il possible de faire celà "d'un coup" ? En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est une zone mémoire de nbInts entiers). Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais c'est trop long.
Merci
et BufferedInputStream c'est fait pour quoi a ton avis? -- bruno Causse http://perso.wanadoo.fr/othello
Vincent Lascaux
et BufferedInputStream c'est fait pour quoi a ton avis?
C'est effectivement mieux avec un BufferedInputStream, merci pour la piste
-- Vincent
et BufferedInputStream c'est fait pour quoi a ton avis?
C'est effectivement mieux avec un BufferedInputStream, merci pour la piste
et BufferedInputStream c'est fait pour quoi a ton avis?
C'est effectivement mieux avec un BufferedInputStream, merci pour la piste
-- Vincent
BJB
Salut, Si tu es à la recherche de performance optimum, regarde le java.nio http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/FileChannel.html
Sinon, comme tu parlais d'index, cela signifie pour moi que tu auras besoin par la suite de lire plus loint dans le fichier, et donc http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html me semble tout adapté à ton problème.
À toi de voir ce qui te convient le mieux ;-)
A+ JB
Vincent Lascaux wrote:
Bonjour,
J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai besoin par la suite d'aller chercher des informations dans la suite du fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un index pour la suite du fichier), je les charges en mémoire à l'execution du programme. Est-il possible de faire celà "d'un coup" ? En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est une zone mémoire de nbInts entiers). Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais c'est trop long.
Merci
Salut,
Si tu es à la recherche de performance optimum, regarde le java.nio
http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/FileChannel.html
Sinon, comme tu parlais d'index, cela signifie pour moi que tu auras
besoin par la suite de lire plus loint dans le fichier, et donc
http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html
me semble tout adapté à ton problème.
À toi de voir ce qui te convient le mieux ;-)
A+
JB
Vincent Lascaux wrote:
Bonjour,
J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions
d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un
DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai
besoin par la suite d'aller chercher des informations dans la suite du
fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un
index pour la suite du fichier), je les charges en mémoire à l'execution du
programme. Est-il possible de faire celà "d'un coup" ?
En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est
une zone mémoire de nbInts entiers).
Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais
c'est trop long.
Salut, Si tu es à la recherche de performance optimum, regarde le java.nio http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/FileChannel.html
Sinon, comme tu parlais d'index, cela signifie pour moi que tu auras besoin par la suite de lire plus loint dans le fichier, et donc http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html me semble tout adapté à ton problème.
À toi de voir ce qui te convient le mieux ;-)
A+ JB
Vincent Lascaux wrote:
Bonjour,
J'ai un fichier dont les 8 premiers MB contiennent un peu plus de 2 millions d'entiers à lire avec la méthode readInt d'un RandomAccessFile (ou d'un DataInputStream... actuellement j'utilise un RandomAccessFile parceque j'ai besoin par la suite d'aller chercher des informations dans la suite du fichier).
Comme je sais que j'aurais besoin de lire tres souvent ces 8MB (c'est un index pour la suite du fichier), je les charges en mémoire à l'execution du programme. Est-il possible de faire celà "d'un coup" ? En C j'aurais fais fread(buffer, sizeof(int), nbInts, file); (où buffer est une zone mémoire de nbInts entiers). Pour l'instant, je fais une boucle avec un readInt() à chaque pas, mais c'est trop long.