Bonjour,
Je vais devoir lire un gros fichier plus de 50 millions de lignes. Chaque ligne correspondant à un identifiant (un chaine de caratères), donc supérieur à 1 Go.
Je voudrais savoir quelle est la meilleure façon de procéder afin de lire ce fichier rapidement en utilisant plusieurs thread et par groupe de lignes, pour récupérer et pouvoir manipuler les identifiants?

Quel le meilleur moyen pour récupérer les idetifiants lorsqu'on a récupéré le contenu du buffer?

Je pensais commencer par ce type de code, mais je ne sais pas comment inclure les threads pour qu'il n'y ait pas de collisions (identifiant utiliser plusieurs fois par des threads différentes)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
StringBuffer contenu = new StringBuffer();
try {
FileInputStream in = new FileInputStream(infile);
BufferedInputStream bfin = new BufferedInputStream(in,2*1024*1024);
 
int myread;
// lecture du contenu du fichier
byte[] b=new byte[1024];
while ((myread = bfin.read(b)) != -1)
 
{
for (int jjj=0;jjj<1024;jjj++) {
myread=(int)b[jjj];
contenu.append((char) myread);
}
 
}
...
Merci pour vos réponses!