Quote:
Et quand je le lance sur la machine commune du labo, ca reste bloqué toujours à la même foutue requête. Je n'arrive vraiment pas à comprendre ce qui fait que ça peut marcher d'un côté et pas de l'autre (les OS : XP pour mon PC et XP Pro pour l'autre).
Ah mais ça tu ne l'avais jamais dit. Ce n'est pas une information anodine et tu aurais du la donner dès le départ.
Par contre pour l'instant je ne sais pas ce qui se passe, mais cette fois on peut imaginer que le code n'a rien à y voir. D'ailleurs mon code marche, tu l'as constaté également. Donc à priori il y a un problème avec l'autre bécane.
Quote:
Maintenant je ne voulais absolument pas te froisser en modifiant ton code.
Ce n'est pas le problème que je sois froissé. Sur n'importe quel forum, quand quelqu'un vient demander de l'aide et qu'on lui donne (et donc que celui qui aide sait ce qu'il dit), si le quelqu'un dit "ton exemple marchait pas ou ceci ou cela", le quelqu'un attire sur lui des grognements. C'est la règle du jeu ;)
Quote:
Pour cela j'utilise la classe HttpClient
Je te suggère de le faire direct avec les sockets comme je l'ai fait. Comme ça tu es sûr au maximum de ce qui se passe.
Quote:
La boucle while (! (results.endsWith me servait en fait à tester que le fichier a bien été intégralement téléchargé. Vu les problèmes de connexion qu'on a ici, je préfère être sûr.
Non et non. C'est si tu fais comme dans mes exemples, surtout comme dans le deuxième que tu seras sûr. Tu as la routine toute cuite, utilise la.
Quote:
Le fichier gb récupéré est censé être formaté afin de faciliter les choses
Alors ça...
Il m'est arrivé il y a longtemps de travailler avec des données scientifiques qui se présentaient sous une forme semblable à ce que tu as.
Et mon code ne marchait pas. Sais tu pourquoi ? Parce que dans un fichier, il y avait un octet mal placé. Alors le "censé être formaté" moi je n'y fais plus confiance depuis longtemps.
Maintenant pour ton problème je ne dis pas que c'est ce qui gêne. Mais tu ne devrais jamais faire confiance à ce genre de choses. C'est comme ton test de la fin des fichiers. Tu crois être sûr. Mais en réalité, tu l'est infiniment moins :(
Quote:
J'imagine que tout ce que tu vois là doit te piquer les yeux
Je n'ai pas regardé en détail (pas le temps).
La question n'est pas que ça me pique les yeux ou pas. La question est qu'il faut que tu montres du code si quelque chose ne va pas et que tu donnes aussi le maximum d'infos pour qu'il soit possible de t'apporter l'aide dont tu as besoin.
Quote:
Je suis conscent du fait que, comparé à un "vrai" code, ce que j'ai écrit semble horrible. Mais bon, j'ai jamais appris, et on m'a demandé de pondre un programme en 3 mois... j'ai fait au plus pressé
Je comprends bien. Moi si je devais faire de la biologie, qu'est-ce que ça donnerait hein ? ;)
Quote:
Juste une chose : ce qui m'a gêné dans ta deuxième méthode, c'est de récupérer un fichier en fait. J'ai peur que de devoir le rouvrir, le convertir en String pour le passer à la méthode suivante ralentisse le tout... l'analyse est déjà longue...
Maintenant si tu me dis que ca ne ralentiras rien du tout, je me lance
Bien sûr que si que ça va ralentir. Mais est-ce vraiment un problème ?
Si j'en crois le volume de données que tu traites, le temps d'écriture/manipulation des fichiers ne représente pas grand chose. Mais il y a un avantage à utiliser les fichiers: tu gardes une trace de ce qui a été lu. Et tu peux vérifier manuellement que les données ont bien été transmises comme il faut. Pour cela, au moins dans le temps de la mise au point du code, je ferai une capture des données dans des fichiers :)
Les informaticiens disent qu'une optimisation prématurée c'est la source de gros problèmes. Tu ne devrais pas au moins dans un premier temps, te poser la question de la rapidité d'exécution. Tu me dirais sur la routine qui analyse les données, je dirais peut être qu'il faut s'en soucier, mais il n'y a pas à se soucier de quelques entrées/sorties supplémentaires dans ton cas.
Ah mais ça tu ne l'avais jamais dit. Ce n'est pas une information anodine et tu aurais du la donner dès le départ.
Par contre pour l'instant je ne sais pas ce qui se passe, mais cette fois on peut imaginer que le code n'a rien à y voir. D'ailleurs mon code marche, tu l'as constaté également. Donc à priori il y a un problème avec l'autre bécane.
Ce n'est pas le problème que je sois froissé. Sur n'importe quel forum, quand quelqu'un vient demander de l'aide et qu'on lui donne (et donc que celui qui aide sait ce qu'il dit), si le quelqu'un dit "ton exemple marchait pas ou ceci ou cela", le quelqu'un attire sur lui des grognements. C'est la règle du jeu ;)
Je te suggère de le faire direct avec les sockets comme je l'ai fait. Comme ça tu es sûr au maximum de ce qui se passe.
Non et non. C'est si tu fais comme dans mes exemples, surtout comme dans le deuxième que tu seras sûr. Tu as la routine toute cuite, utilise la.
Alors ça...
Il m'est arrivé il y a longtemps de travailler avec des données scientifiques qui se présentaient sous une forme semblable à ce que tu as.
Et mon code ne marchait pas. Sais tu pourquoi ? Parce que dans un fichier, il y avait un octet mal placé. Alors le "censé être formaté" moi je n'y fais plus confiance depuis longtemps.
Maintenant pour ton problème je ne dis pas que c'est ce qui gêne. Mais tu ne devrais jamais faire confiance à ce genre de choses. C'est comme ton test de la fin des fichiers. Tu crois être sûr. Mais en réalité, tu l'est infiniment moins :(
Je n'ai pas regardé en détail (pas le temps).
La question n'est pas que ça me pique les yeux ou pas. La question est qu'il faut que tu montres du code si quelque chose ne va pas et que tu donnes aussi le maximum d'infos pour qu'il soit possible de t'apporter l'aide dont tu as besoin.
Je comprends bien. Moi si je devais faire de la biologie, qu'est-ce que ça donnerait hein ? ;)
Bien sûr que si que ça va ralentir. Mais est-ce vraiment un problème ?
Si j'en crois le volume de données que tu traites, le temps d'écriture/manipulation des fichiers ne représente pas grand chose. Mais il y a un avantage à utiliser les fichiers: tu gardes une trace de ce qui a été lu. Et tu peux vérifier manuellement que les données ont bien été transmises comme il faut. Pour cela, au moins dans le temps de la mise au point du code, je ferai une capture des données dans des fichiers :)
Les informaticiens disent qu'une optimisation prématurée c'est la source de gros problèmes. Tu ne devrais pas au moins dans un premier temps, te poser la question de la rapidité d'exécution. Tu me dirais sur la routine qui analyse les données, je dirais peut être qu'il faut s'en soucier, mais il n'y a pas à se soucier de quelques entrées/sorties supplémentaires dans ton cas.