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 :
- import java.io.InputStream;
- import java.io.IOException;
- import java.io.FilterInputStream;
- public class UpperCaseInputStream extends FilterInputStream{ // à compléter
-
- public UpperCaseInputStream(InputStream f){
- super(f);
- }
- public int read() throws IOException
- {
- int chara = super.read();
- if (chara != -1)
- return Character.toUpperCase((char)chara);
- else
- return chara;
- }
- public int read(byte[] b, int offset, int longueur) throws IOException
- {
- int noBytes = super.read(b,offset,longueur);
- for (int i = offset; i < offset + noBytes; i++)
- {
- b[i] = (byte)Character.toUpperCase((char)b[i]);
- }
- return noBytes;
- }
- }
|
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 :
- public void testUpperCase_README_TXT() throws Exception{
- InputStream is = new UpperCaseInputStream(new BufferedInputStream( new FileInputStream(new File("test.TXT" ))));
-
- int c = is.read();
- System.out.println(c);
- while( c != -1){
- assertTrue("erreur !, '" + Character.valueOf((char)c) + "' ne semble pas être une majuscule ...", Character.isUpperCase((char)c)|| (char)c==' ' );
- c = is.read();
- }
- is.close();
- }
|
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