Sur Swing, j'ai des trucs à écrire en effet.
Quel JDK utilises-tu ? Le code source (en 1.4.2) de la methode read(byte[], int, int) de la classe InputStream est :
Code :
- public int read(byte b[], int off, int len) throws IOException {
- if (b == null) {
- throw new NullPointerException();
- } else if ((off < 0) || (off > b.length) || (len < 0) ||
- ((off + len) > b.length) || ((off + len) < 0)) {
- throw new IndexOutOfBoundsException();
- } else if (len == 0) {
- return 0;
- }
- int c = read();
- if (c == -1) {
- return -1;
- }
- b[off] = (byte)c;
- int i = 1;
- try {
- for (; i < len ; i++) {
- c = read();
- if (c == -1) {
- break;
- }
- if (b != null) {
- b[off + i] = (byte)c;
- }
- }
- } catch (IOException ee) {
- }
- return i;
- }
|
Cela pourrait valoir le coup d'incorporer cette méthode dans une classe utilitaire et de tracer ce qui se passe, histoire de comprendre. Pour l'instant, je sèche.
Message édité par Cherrytree le 14-12-2003 à 16:09:46
---------------
Le site de ma maman