groovy - getResourceAsStream() doesn't see resource -
i want unpack resources jar file. structure of jar looks this:
my.jar meta-inf resources my.exe my.dll namespace unpackresourcefromthisclass.class i want unpack my.exe , my.dll jar file. tried unpack files using code:
try { inputstream = getclass().getresourceasstream("/resources/my.exe") outputstream os = new fileoutputstream(new file(destdir)) files.copy(is, os) os.close() is.close() } catch (nullpointerexception e) { e.printstacktrace(); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (securityexception e) { e.printstacktrace(); } but doesn't work. ideas? result error:
java.lang.nullpointerexception @ java.nio.file.files.provider(files.java:65) @ java.nio.file.files.newinputstream(files.java:106) @ java.nio.file.files.copy(files.java:2884) @ java_nio_file_files$copy.call(unknown source) @ org.codehaus.groovy.runtime.callsite.callsitearray.defaultcall(callsitearray.java:42) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:108) @ org.codehaus.groovy.runtime.callsite.abstractcallsite.call(abstractcallsite.java:120) @ pl.ydp.gradle.is2k8task.getresources(is2k8task.groovy:84) @ pl.ydp.gradle.is2k8task.build(is2k8task.groovy:30) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:601) @ org.codehaus.groovy.reflection.cachedmethod.invoke(cachedmethod.java:90) @ groovy.lang.metamethod.domethodinvoke(metamethod.java:233) @ groovy.lang.metaclassimpl.invokemethod(metaclassimpl.java:1047) @ groovy.lang.metaclassimpl.invokemethod(metaclassimpl.java:877) @ org.gradle.api.internal.beandynamicobject$metaclassadapter.invokemethod(beandynamicobject.java:216) this groovy code used in gradle custom task.
you seem writing java... not sure if round problem, above written in groovy as:
this.getclass().getresource( '/resources/my.exe' ).withinputstream { ris -> new file( destdir ).withoutputstream { fos -> fos << ris } }
Comments
Post a Comment