Начало проблемы тут
Казалось бы самостоятельно нашел решение:
InputStream in = new java.net.URL(url).openStream();
FileWriter fWriter = new FileWriter(sdCardFile, false);
byte[] buf = new byte[128];
while(true){
int n = in.read(buf);
if(n == -1){
break;
}
}
fWriter.write(buf);
fWriter.close();
Но есть одно "НО": InputStream работает с byte, в то время как FileWriter работает с char, прямо какой-то кретинизм, чесслово :)