Bonjour,

je début en java et je ne comprend ou est mon erreur.
Tous les codes que je trouve comme exemple ouvre un fichier txt le lise et le ferme.
je voudrais ouvrir le fichier dans une methode (constructeur par exemple)
et faire la lecture dans une autre.
Le bute final et d'avoir une class indépendante pour gérer la lecture pour avoir un main le plus simple possible.

N'hésité pas à me faire des commentaires constructifs j'apprend,la solution est secondaire.Mon but et de comprendre...

l'erreur qu’éclipse remonte est :Source not found alors que si je fais la lecture dans le constructeur pas de pb

Ps pour le moment je charge tout dans un tableau mais mes fichiers font de 4Ko à plus de 500 Mo

main:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
 
 
		Lire li =new Lire("d:/a.txt");
		String str = new String();
		str=li.lireOneLingne();
}
class pausant probleme:

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package LibCedric;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
 
 
public class Lire {
 
	public static int iNbInstance = 0;
	protected int iNbLecture=0;
	protected String sPathFile ="";
	protected int iMemLastLigneRead=1;
	protected String sTemp="";
	protected DataInputStream InStream=null;
 
 
 
 
	//Constructeur
	public Lire(String sPathFile) throws IOException 
	{
		iNbInstance++;
		this.sPathFile=sPathFile;
		try{
			DataInputStream InStream = new DataInputStream(
				new BufferedInputStream(
				new FileInputStream(
				new File(this.sPathFile))));
 
                              //si lecture ici pas de probleme
 
		}catch(Exception e){
	         // if any error occurs
	         e.printStackTrace();
		}
		finally{
			//InStream.close();
		}
 
 
	}
	public String  lireOneLingne () throws IOException
	{
 
		sTemp=this.InStream.readLine();//InStream.readLine();
		//traitement....
		System.out.println(sTemp);
		return sTemp;
	}
}