Bah j'ai jamais fait réellement de Java, sauf en cours théorique, mais c'est comme tout langage de programmation impératif.
Et donc de ce que je vois, en réalité le header à "sauter" sur les .exe n'est pas de 305704, mais de 305664.
En effet le code dit :
if (file.getName().endsWith(".001.exe")) {
// Skip useless header and .exe header
access.skipBytes(305704);
extractable = true;
} else {
// Skip useless header
access.skipBytes(40);
extractable = false;
}
Et donc l'écart entre un .exe et un .xtm est de
305704 - 40 = 305664
... puisque certes il "saute" 305704 octets sur un exe, mais il "saute" 40 octets sur un "non-exe", et donc sur un xtm.
Par conséquent Hizoka, tu peux essayer la même commande que ci-dessus en retirant la bonne valeur, c'est à dire 305664 (au lieu de 305704).
Désolé au passage, comme j'ai jamais eu besoin de .xtm en .exe, je ne me suis jamais vraiment penché sur la question. En réalité, si c'est juste ça, l'intégration dans le script est à peu près aussi mineure que le test en Java ci dessus !..
En vérité aussi, je n'ai plus trop besoin de .xtm, et je suis passé à un autre challenge : uploader des fichiers sur une Freebox V6 à distance, en script d'abord, puis carrément en faisant un "montage" de ladite Freebox distante !.. 😃
Mais si c'est juste ça pour les .exe, je ferai la modif, et ça me donnera l'occasion d'intégrer aussi les derniers contributeurs sur NAS.