¿Hay alguna manera fácil de convertir una URL que contenga caracteres de dos bytes en una ruta absoluta?Convertir URL a AbsolutePath
La razón que pido es que estoy tratando de encontrar recursos de la siguiente manera:
URL url=getClass().getResources("/getresources/test.txt");
String path=url.toString();
File f=new File(path);
El programa no puede encontrar el archivo. Sé que la ruta contiene '% 20' para todos los espacios que puedo convertir, pero mi verdadero problema es que estoy usando un SO japonés y cuando el archivo jar del programa está en un directorio con texto japonés (por ejemplo, デ ス ク I I I) obtengo el URL-encoding del nombre del directorio, así:
% E3% 83% 87% E3% 82% B9% E3% 82% AF% E3% 83% 88% E3% 83% 83% E3% 83% 97
Creo que podría obtener los códigos de bytes UTF-8 y convertir esto en los caracteres adecuados para encontrar el archivo, pero me pregunto si hay una manera más fácil de hacerlo. Cualquier ayuda sería muy apreciada.
nt
Eso no es "basura". Esas son representaciones de personajes escapadas. Ellos son valores legítimos. La razón por la cual el fragmento de código no funciona es porque Class.getResources y File tienen diferentes espacios de raíz. –
¿Hay alguna clase que pueda usar para convertir la ruta a caracteres legibles normales? – nite