Bonjour,

Je souhaiterais convertir tous les minuscules en majuscule dans un flot d'entrée.
D'après la documentation de java , je peux utiliser la classe filterInputStream qui me permettra d'effectuer la conversion en majuscule

Voici comment j'ai procédé:

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
 
public class UpperCaseInputStream extends FilterInputStream { 
 
   public UpperCaseInputStream (InputStream in ){      
    super(in); // in represente le flux d'entrée à filtrer
   }
 
    public int read() throws IOException{
      /** on récupere le premier caracter, si le  premier est caractere est en majuscule ,on le laisse tel quel 
       * sinon on effectue les passage de miniscule -> majuscule 
       */
 
       int c = super.read();  //lit le prochaine octet de données à partir du flux d'entrée.
       if(c == -1 ) 
       {  
           System.out.println("le fichier ne contient aucun octet"); 
           return c ;     
        }else{ 
             System.out.println("le fichier contient un octet");
             return Character.toUpperCase(c); //le caractere lu est converti en majuscule            
            }
        }
Pourriez vous me dire ce qui ne vas pas dans ce codage.
Par ailleurs , je pourrais trouver une alternative a cela en utilisant la methode read(byte[] b, int off, int len); je ne vois pas tres bien comment je pourrais la coder.

Merci d'avance