Existe-t-il un moyen simple de convertir une URL contenant des caractères de deux octets en un chemin absolu?Convertir une URL en AbsolutePath
La raison pour laquelle je demande est que je suis en train de trouver des ressources comme ceci:
URL url=getClass().getResources("/getresources/test.txt");
String path=url.toString();
File f=new File(path);
Le programme ne peut pas trouver le fichier. Je sais que le chemin contient '% 20' pour tous les espaces que je pourrais convertir mais mon vrai problème est que j'utilise un système d'exploitation japonais et quand le fichier jar du programme est dans un répertoire avec du texte japonais (par exemple, je reçois le URL-encoding du nom de répertoire, comme ceci:
% e3% 83% 87% e3% 82% B9% e3% 82% af% e3% 83% 88% e3% 83% 83% e3% 83% 97
Je pense que je pourrais obtenir les codes octets UTF-8 et les convertir en caractères appropriés pour trouver le fichier, mais je me demande s'il existe un moyen plus facile de le faire. Toute aide serait grandement appréciée.
nt
Ce n'est pas "ordures". Ce sont des représentations de personnages échappées. Ce sont des valeurs légitimes. La raison pour laquelle votre fragment de code ne fonctionne pas est que Class.getResources et File ont des espaces racines différents. –
Existe-t-il une classe que je peux utiliser pour convertir le chemin en caractères lisibles normaux? – nite