У меня есть собственный ClassLoader, и я хочу getResource искать ресурсы в настраиваемом месте.
Поэтому, я хочу, чтобы переопределить findResource, так как я хочу, чтобы он возвращал массив байтов в качестве результата.
Возвращаемым типом функции findResource является URL.
Итак, вопрос в том, как создать объект URL из байта []?overriding findResource
Я попробовал этот метод, который оказался недействительным:
public class MyClassLoader extends ClassLoader
{
byte[] myByteArray = new byte[] {0x1, 0x2, 0x3};
protected URL findResource(String name)
{
URL res = super.findResource(name);
res = new URL(new String(myByteArray));
return res;
}
}
Когда я попытался запустить его, я получил исключение:
MalformedURLException: no protocol ?PNG ......
Я понимаю, что он считает, что протокол " «PNG ...» (и что происходит после него), но какой правильный протокол для byte[]
?
Где вы пытаетесь? –
@SaurabhJhunjhunwala Я думал, что это не имеет значения, так как это не сработало. –
вы должны поделиться своими усилиями с трассировкой журнала, тогда кто-то может вам помочь –