À ma connaissance, ce n'est pas possible. Il faudrait faire une bibliothèque JNI pour ça.
Note que pour transformer une String en tableau de bytes, il suffit de faire :
byte[] bytes = "Bonjour à tous !".getBytes("utf-16LE");
par exemple.
Mais cela ne te dira pas quels étaient les octets originels pour représenter le nom de fichier : ces octets ont été transformés en String d'une manière inconnue et ne sont plus accessibles. Et après tu retransformes cette String en octets en utilisant un charset quelconque.
Cela dit, si je ne me trompe pas, Windows utilise canoniquement UTF-16LE pour les noms de fichiers.
Partager