nite nite - 3 months ago 20
Java Question

Convert URL to AbsolutePath

Is there any easy way to convert a URL that contains to two-byte characters into an absolute path?

The reason I ask is I am trying to find resources like this:

URL url=getClass().getResources("/getresources/test.txt");
String path=url.toString();
File f=new File(path);


The program can't find the file. I know the path contain '%20' for all spaces which I could convert but my real problem is I'm using a japanese OS and when the program jar file is in a directory with japanese text (for example デスクトップ) I get a whole bunch of garbage like this:

%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97

I think I could get the UTF-8 byte codes and convert this into the proper characters to find the file, but I'm wondering if there is an easier way to do this. Any help would be greatly appreciated.

nt

Answer
URL url=getClass().getResource("/getresources/test.txt");
File f=new File(url.toURI());