Problème pattern Decorateur FilterInputStream et classe de test.

Problème pattern Decorateur FilterInputStream et classe de test. - Java - Programmation

Marsh Posté le 07-02-2009 à 16:06:16    

Bonjour,
 
J'aurai un peu soucis dans mon programme, cela viendrait des espaces dans le fichier texte.
Si quelqu'un aurait une idée, je le remercie d'avance.
 

Code :
  1. import java.io.InputStream;
  2. import java.io.IOException;
  3. import java.io.FilterInputStream;
  4. public class UpperCaseInputStream  extends FilterInputStream{ // à compléter
  5.    
  6. public UpperCaseInputStream(InputStream f){
  7.     super(f);
  8. }
  9. public int read() throws IOException
  10.     {
  11.         int chara = super.read();
  12.         if (chara != -1)
  13.            return Character.toUpperCase((char)chara);
  14.         else
  15.            return chara;
  16.     }
  17.     public int read(byte[] b, int offset, int longueur) throws IOException
  18.     {
  19.         int noBytes = super.read(b,offset,longueur);
  20.         for (int i = offset; i < offset + noBytes; i++)
  21.         {
  22.             b[i] = (byte)Character.toUpperCase((char)b[i]);
  23.         }
  24.         return noBytes;
  25.     }
  26. }


 
 
Voici ma classe de test qui me retourne l'erreur:
'-' ne semble pas être une majuscule...
 
Le fichier test.TXT est juste une fichier texte contenant quelques lignes.
 

Code :
  1. public void testUpperCase_README_TXT() throws Exception{
  2.     InputStream is = new UpperCaseInputStream(new BufferedInputStream( new FileInputStream(new File("test.TXT" ))));
  3.      
  4.       int c = is.read();
  5.        System.out.println(c);
  6.       while( c != -1){
  7.         assertTrue("erreur !, '" + Character.valueOf((char)c) + "' ne semble pas être une majuscule ...", Character.isUpperCase((char)c)|| (char)c==' ' ); 
  8.         c = is.read();
  9.       }
  10.       is.close();
  11.     }


 
Merci de votre aide.
J'ai essayer de faire:
 
if (chara != -1 && chara>96 && chara<123) mais ca passe pas non plus.


Message édité par jaysiat le 07-02-2009 à 16:19:17
Reply

Marsh Posté le 07-02-2009 à 16:06:16   

Reply

Marsh Posté le 07-02-2009 à 16:59:44    

C'est bon j'ai trouvé ou était le problème. Le programme n'allait pas chercher le bon README je sais pas pourquoi d'ailleurs, avec le chemin complet du README le test passe sans problème.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed