Bonjour.

J'ai un souci concernant la lecture d'un fichier de format .txt d'une taille d'environ 315Mo...

Sur un fichier moins conséquent j'ai réussi à effectuer une lecture comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
try
         {
InputStream ips=new FileInputStream(datamicrorna); 
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
 
String ligne;
 
while ((ligne=br.readLine())!=null)
{
listlignesmirbase.add(ligne);
}
Cela fonctionne.

Par contre si j'essaye de faire la même chose avec un autre fichier, de taille avoisinant les 315Mo, j'ai comme message :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
java.lang.NullPointerException
Alors que j'utilise la même technique :

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
try
{
if (sourcepredictions == "human")
	{sourcepredictions = humanpredictions;}
else if (sourcepredictions == "mouse")
	{sourcepredictions = mousepredictions;}
					
InputStream iii = new FileInputStream(sourcepredictions); 
InputStreamReader jjj = new InputStreamReader(iii);
BufferedReader kr = new BufferedReader(jjj);
				
String ligne2;
while ((ligne2=kr.readLine())!=null)
	{
	listlignespredictions.add(ligne2);
	}
Si je mets au niveau de la ligne soulignée le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
String ligne2 = kr.readLine();
System.out.println(ligne2);
Je récupère bien la première ligne de mon fichier. J'en ai donc déduis que c'est un problème de mémoire du logiciel ...

Comment réussir à lire mon fichier de 315Mo ligne par ligne pour prendre ce qui m'intéresse ?

Merci beaucoup !
Bonne journée.

Matt.