Hello les gens,
Mon besoin est de lire le contenu d'un fichier.
J'ai les deux méthode suivantes pour lire le contenu d'un fichier ligne par ligne (je ne peux pas utiliser un objet Scanner apparu depuis java 5):
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
public static StringBuffer readAFile(String filePath) {
		StringBuffer result = new StringBuffer();
 
		try {
			//		   Création du flux bufférisé sur un FileReader, immédiatement suivi par un 
			//		   try/finally, ce qui permet de ne fermer le flux QUE s'il le reader
			//		   est correctement instancié (évite les NullPointerException)
			BufferedReader buff = new BufferedReader(new FileReader(filePath));
 
			try {
				String line;
				//		   Lecture du fichier ligne par ligne. Cette boucle se termine
				//		   quand la méthode retourne la valeur null.
				while ((line = buff.readLine()) != null) {
					//System.out.println(line);
					result = result.append(line);
				}
			} finally {
				//		   dans tous les cas, on ferme nos flux
				buff.close();
			}
		} catch (IOException ioe) {
			//		   erreur de fermeture des flux
			System.out.println(
				"Erreur sur com.projet.util.FileOperation.readAFile(String) -->"
					+ ioe.toString());
		}
		return result;
	}
 
	public static String readFile(String theFileName) {
		InputStreamReader flog = null;
		LineNumberReader llog = null;
		String myLine = null;
		String myConcatLines = "";
		try {
			flog = new InputStreamReader(new FileInputStream(theFileName));
			llog = new LineNumberReader(flog);
			while ((myLine = llog.readLine()) != null) {
				// --- Ajout de la ligne au contenu
				myConcatLines += myLine;
			}
		} catch (Exception e) {
			// --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.)
			System.out.println(
				"Erreur sur com.projet.util.FileOperation.readFile(String) -->"
					+ e.toString());
		}
		return myConcatLines;
	}
Toutes les deux marchent sur une machine windows faisant tourner WAS 5.1 en JDK 1.4 (environnement de dev)
Ce code lève une exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sun.io.MalformedInputException
lorsqu'il tourne sur la machine de prod sous unix avec WAS 6 et JDK 6
Je ne peux pas déboguer sur la machine de prod pour savoir à quel niveau ça bug malheureusement.
Que signifie cette exception ?

Merci pour toutes vos contributions.