Réalisation d'une classe permettant de filtrer un flot d'entrée [JAVA] - Programmation
Marsh Posté le 16-11-2001 à 14:40:16
Tois recuperer le source read, pour cela, tu dois décompresser le "jre.jar" (avec winzip) et tu decompil read.class (avec jad.exe).
Et tu modifie dans le code ce que tu veux.
Marsh Posté le 16-11-2001 à 16:36:13
Tu sais ce que c'est l'héritage? Tu as quel niveau en Jave exactement. Bon quelques pistes :-)
public class MyReader extends Reader {
public MyReader()
{
super();
// choses spécifiques à ta classe
}
public int read(char[] ch)
{
// overriding
}
En fait tu dois voir le javadoc de la classe reader:
http://java.sun.com/j2se/1.3/docs/ [...] eader.html
Là tu es as les différentes signatures de méthodes. Tu peux éventuellement, decomplier le source.jar et voir le code de la classe mais ce n'est pas le but.
Pour ce qui est de mettre tout les caractères en minuscules, il y a des méthodes toutes faites en Java qui permettent de faire ca (voir String et StringBuffer).
Hope it helps,
Stéphane
Marsh Posté le 16-11-2001 à 18:11:38
Voilà ce que j'ai fait. Ca marche mais est ce correct?
class LowerCaseReader extends Reader
{
public LowerCaseReader (Reader in)
{
super(in);
}
public int read () throws IOException
{
return((int)Character.toLowerCase((char)((Reader
)lock).read()));
}
public void close ()
{
}
public int read(char[] cbuf,int off,int len)
{
return 0;
}
public boolean ready() throws IOException
{
return(((Reader)lock).ready());
}
}
Marsh Posté le 16-11-2001 à 19:38:53
Scoubidoo a écrit a écrit : Voilà ce que j'ai fait. Ca marche mais est ce correct? |
Non
class LowerCaseReader extends Reader
{
public LowerCaseReader (Reader in)
{
super(in);
}
// CORRECT Mais si tu n'offres que ce moyen pour déclarer ta classe (il y a plusieurs constructeur je pense ...
public int read () throws IOException
{
return((int)Character.toLowerCase((char)((Reader
)lock).read()));
}
// CORRECT
public void close ()
{
}
// Si elle est vide, pas besoin de la déclarer
public int read(char[] cbuf,int off,int len)
{
return 0;
}
// Je ne suis pas sur que ce soit le but de cette fonction. Si tu ne veux pas l'utiliser, ne la déclare pas
public boolean ready() throws IOException
{
return(((Reader)lock).ready());
}
Si tu as plus de questions n'hésite pas
Marsh Posté le 16-11-2001 à 19:53:21
pour le constructeur, j'ai pas besoin d'aut chose.
sinon
public int read(char[] cbuf,int off,int len)
{
return 0;
}
je fais ça pcq sinon ça fait une erreur à la compilation pcq c une méthode abstraite de reader à redéfinir(puisqu'abstraite)
Vala
Marsh Posté le 16-11-2001 à 21:06:42
la méthode close devrait pas fermer lock (le reader passé en paramètre du constructeur) ?
[edtdd]--Message édité par benou--[/edtdd]
Marsh Posté le 14-11-2001 à 18:15:22
Voilà, je dois faire un filtre sur un flot d'entrée qui met tous les caractères en minuscules.
Pour cela, je dois faire une classe dérivé de reader et redéfinir la méthode read.... le seul problème est que je sais pas comment faire?
Qqun peut m'aider.