ZKX's LAB

jar包中资源文件 如何调用第三方jar包的资源文件

2020-10-11知识9

我用eclipse打得jar包怎么运行时找不到资源文件

jar包中资源文件 如何调用第三方jar包的资源文件

android如何将res文件夹下的资源打包到jar中 1.打包时,将资源放在asset文件夹内,通过AssetsManager获取指定资源:目标应用和jar中的assets文件夹会合并,所以可以通过获取该应用的此类文件夹来获取目标资源2.使用library项目此类方法不能混淆代码,也就是说发布时需要提供library源项目.在引用此lib的目标项目中会看到一个包含已经编译成class.dex的jar文件,这个文件反编译以后仍然是只有代码部分。3.使用双重library项目提供一种双层library项目的方法,可以混淆代码,但是xml与图片资源仍然是暴露的,且发布时需要提供二级引用项目,操作上复杂度较高,不如直接提供jar包和资源4.直接提供jar包和资源(分开)依然是反射R文件,资源会被暴露给开发者。

jar包中资源文件 如何调用第三方jar包的资源文件

如果调用第三方jar包的资源文件,在制作jar包和告诉别人如何调用你的jar包时经常用到。通常有两种方法,具 1)在应用程序端访问第三方jar包里面的raw文件,方法如下:InputStream is=org.hisense.facerecog.R.class.getResourceAsStream(\"data.xml\");File cascadeDir=this.getDir(\"cas\",Context.MODE_PRIVATE);mCascadeFile=new File(casDir,\"data.xml\");FileOutputStream os=new FileOutputStream(mCascadeFile);其中org.hisense.facerecog.R为jar包中资源文件R.java的路径,this为当前应用程序环境。2)在第三方jar包中直接访问其资源文件,将其拷贝到应用程序端,需要给出应用程序环境:Context context方法如下:InputStream is=this.getClass().getResourceAsStream(\"/res/raw/data.xml\");File cascadeDir=context.getDir(\"cas\",Context.MODE_PRIVATE);mCascadeFile=new File(casDir,\"data.xml\");FileOutputStream os=new FileOutputStream(mCascadeFile);其中this为第三方jar中的类运行环境,context为应用程序环境。

jar包中资源文件 如何调用第三方jar包的资源文件

我用eclipse打得jar包怎么运行时找不到资源文件 如果只是读取的话解决很简单,读取jar文件中的内容是有特定语法的。做个比较 1.普通windows文件系统:file:\\D:\\MapModule\\img\\map\\map.jpg/你一定要在这个路径上有文件才能。

android 怎么把源码中的资源文件编译进jar包 这是个工具条事件,有没有放工具条了,到部件中去选上Microsoft Windows Common Controls 6.0(SP6),其中有个工具条控件。frmShow 是一个同名的类的对象,使用之前要确保已经定义了。

如何在jar包中获取资源文件对象 在src目录下建议一个文件夹,专门存放配置文件,项目编译后,直接用jar命令打包即可。如有疑问,可远程协助解决。

如何将资源文件打包到Jar包中 最好名为为*.properties这样,就当成一般的java资源,一起打包了

java获取jar包中资源文件 在src目录下建议一个文件夹,专门存放配置文件,项目编译后,直接用jar命令打包即可。如有疑问,可远程协助解决。有问题欢迎提问,满意请采纳,谢谢!

如何调用第三方jar包的资源文件 如果调用第三方jar包的资源文件,在制作jar包和告诉别人如何调用你的jar包时经常用到。通常有两种方法,具体如下:1)在应用程序端访问第三方jar包里面的raw文件,方法如下:InputStreamis=org.hisense.facerecog.R.class.getResourceAsStream(\"data.xml\");File cascadeDir=this.getDir(\"cas\",Context.MODE_PRIVATE);mCascadeFile=new File(casDir,data.xml\");FileOutputStream os=newFileOutputStream(mCascadeFile);其中org.hisense.facerecog.R为jar包中资源文件R.java的路径,this为当前应用程序环境。2)在第三方jar包中直接访问其资源文件,将其拷贝到应用程序端,需要给出应用程序环境:Contextcontext方法如下:InputStream is=this.getClass().getResourceAsStream(\"/res/raw/data.xml\");File cascadeDir=context.getDir(\"cas\",Context.MODE_PRIVATE);mCascadeFile=new File(casDir,data.xml\");FileOutputStream os=newFileOutputStream(mCascadeFile);其中this为第三方jar中的类运行环境,context为应用程序环境。两中方法最后都会在应用程序根目录下生成cas/data.xml文件,对应于第三方jar包中的/res/raw/data.txt文件

jar包内读取资源文件:Java代码源代码1:package edu.hxraid;import java.io.*;public class Resource {public void getResource()throws IOException{File file=new File(\"bin/resource/res.txt\");BufferedReader br=new BufferedReader(new FileReader(file));String s=\";while((s=br.readLine())。null)System.out.println(s);}}这段代码写在Eclipse建立的java Project中,其目录为:(其中将资源文件res.txt放在了bin目录下,以便打成jar包)1、src/src/edu/hxraid/Resource.java2、bin/bin/resource/res.txtbin/edu/hxraid/Resource.class很显然运行源代码1是能够找到资源文件res.txt。但当我们把整个工程打成jar包以后(ResourceJar.jar),这个jar包内的目录为:edu/hxraid/Resource.classresource/res.txt而这时jar包中Resource.class字节码:ldc[20]将无法定位到jar包中的res.txt位置上。就算把bin/目录去掉:ldc[20]仍然无法定位到jar包中res.txt上。这主要是因为jar包是一个单独的文件而非文件夹,绝对不可能通过\"file:/e:/./ResourceJar.jar/resource/res.txt\"这种形式的文件URL来定位res.txt。所以即使是相对路径,也无法定位到jar文件内的。

#context

随机阅读

qrcode
访问手机版