mirror of
https://github.com/corda/corda.git
synced 2025-02-12 21:56:04 +00:00
Added a getContentLength() method to URLConnection
This is particularly important if you want to get the number of bytes of a resource loaded by the class loader: getClass().getResource("myFile").openConnection().getContentLength()
This commit is contained in:
parent
a2ba391b89
commit
13a535d1c6
@ -100,6 +100,10 @@ public final class URL {
|
||||
super(url);
|
||||
}
|
||||
|
||||
public int getContentLength() {
|
||||
return ResourceInputStream.getContentLength(url.getFile());
|
||||
}
|
||||
|
||||
public InputStream getInputStream() throws IOException {
|
||||
return new ResourceInputStream(url.getFile());
|
||||
}
|
||||
@ -116,6 +120,8 @@ public final class URL {
|
||||
}
|
||||
}
|
||||
|
||||
private static native int getContentLength(String path);
|
||||
|
||||
private static native long open(String path) throws IOException;
|
||||
|
||||
private static native int read(long peer, int position) throws IOException;
|
||||
|
@ -25,6 +25,10 @@ public abstract class URLConnection {
|
||||
return getInputStream();
|
||||
}
|
||||
|
||||
public int getContentLength() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
public InputStream getInputStream() throws IOException {
|
||||
throw new UnknownServiceException();
|
||||
}
|
||||
|
@ -741,6 +741,26 @@ Java_java_lang_Thread_enumerate(Thread* t, jclass, jobjectArray array)
|
||||
return count;
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jint JNICALL
|
||||
Java_java_net_URL_00024ResourceInputStream_getContentLength
|
||||
(Thread* t, jclass, jstring path)
|
||||
{
|
||||
ENTER(t, Thread::ActiveState);
|
||||
|
||||
if (LIKELY(path)) {
|
||||
char p[stringLength(t, *path) + 1];
|
||||
stringChars(t, *path, p);
|
||||
|
||||
System::Region* r = t->m->finder->find(p);
|
||||
if (r) {
|
||||
jint rSize = r->length();
|
||||
r->dispose();
|
||||
return rSize;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
extern "C" JNIEXPORT jlong JNICALL
|
||||
Java_java_net_URL_00024ResourceInputStream_open
|
||||
(Thread* t, jclass, jstring path)
|
||||
|
Loading…
x
Reference in New Issue
Block a user