`

Java 资源加载库 Azzet

    博客分类:
  • Java
 
阅读更多
http://www.oschina.net/p/azzet

Azzet 是一个简单的 Java 类库,用于从不同的源中加载资源。
示例代码:
BufferedImage img = Assets.load("http://www.google.com/logos/classicplus.png"); // loaded from website
Font fnt = Assets.load("myfont.ttf", new FontInfo(32.0f)); // loaded from classpath
Clip snd = Assets.load("C:\UserData\MyMusic.wav"); // loaded from file-system
BufferedImage gif = Assets.loadFrom("mygif.gif", BufferedImage.class); // you can request the return type
BufferedImage[] animatedGif = Assets.loadFrom("mygif.gif", "db"); // loads from DatabaseSource saved as "db"
Properties props = Assets.loadFrom("app.properties", "tcp"); // loads from TcpSource saved as "tcp"




支持的格式包括:
JSON (org.magnos.asset.json.JsonValue)
XML (org.w3c.dom.Document)
PROPERTIES/XML/CONFIG (java.util.Properties, org.magnos.asset.props.Config)
GIF (java.awt.image.BufferedImage[])
PNG/BMP/WBMP/JPEG/JPG (java.awt.image.BufferedImage)
MID/MIDI (javax.sound.midi.Sequence)
WAV/AU/AIFF/SND (javax.sound.sampled.Clip)
TTF (java.awt.Font)
CSV (org.magnos.asset.csv.Table)
CLASS/CLAZZ (java.lang.Class)
JAR (org.magnos.asset.java.Jar)
ZIP (org.magnos.asset.zip.Zip)
GZ (org.magnos.asset.AssetInfo)
DAT (byte[], java.io.InputStream, java.nio.ByteBuffer, java.io.ByteArrayOutputStream)
TXT (java.lang.String, char[], java.nio.CharBuffer, java.lang.StringBuffer, java.lang.StringBuilder)



支持的数据源:
Classpath
File-System
Database
JAR
FTP
HTTP/HTTPS
UDP
TCP
SSL
UDP Multicast

示例代码:
FutureAssetBundle bundle = new FutureAssetBundle();
bundle.add( Assets.loadFuture("image.gif", BufferedImage.class) );
bundle.add( Assets.loadFuture("sound.wav", Clip.class) );
 
BufferedImage image = null;
Clip sound = null;
 
// game loop
while (running) {
   // do stuff
   // this occurs during the loading screen....
   if (bundle.isComplete()) {
       bundle.loaded(); // notify all FutureAsset implementations the asset has been accepted.
       image = bundle.getAsset("image.gif");
       sound = bundle.getAsset("sound.wav");
       // move from loading to play screen
   } else {
       display bundle.percentComplete();     
   }
   // do other stuff
}
分享到:
评论

相关推荐

    Java资源加载库Azzet.zip

    Azzet 是一个简单的 Java 类库,用于从不同的源中加载资源。示例代码:BufferedImage img = Assets.load("http://www.google.com/logos/classicplus.png"); // loaded from website Font fnt = Assets....

    Java 动态加载jar文件示例

    在Java编程语言中,动态加载jar文件是一种关键的特性,它允许程序在运行时加载新的类库或组件,而不是在编译时静态地链接。这种技术对于实现插件式开发或者模块化系统至关重要,因为它提供了灵活性和可扩展性。下面...

    springboot+java类热加载

    Java的`javac`工具或第三方库如Apache Ant或Maven的Compiler插件可以用于此目的。 **自动引用依赖**:在大型项目中,管理依赖关系是一项重要任务。热加载时,确保新编译的类能正确引用到所有必要的依赖是一项挑战。...

    java 调用动态库

    具体步骤包括编写Java接口,定义 native 方法,然后使用JNative提供的API加载动态库并绑定函数。 例如,如果你有一个名为`mydll.dll`的动态库,其中有一个函数`void doSomething()`,在Java中你可以这样实现: ```...

    java调用动态链接库实例 java调用动态链接库实例 java调用动态链接库实例

    在Java编程中,有时我们需要利用已有的C或C++库,这些库...这个过程涉及到Java编程、JNI规范、C/C++编程以及操作系统层面的动态库加载知识。通过这个实例,开发者可以灵活地利用已有的C/C++库,增强Java应用的功能。

    Java3d加载3D模型的技术

    Java3D加载3D模型的技术 Java3D是一种基于Java的三维图形编程接口,用于加载和显示三维模型文件。下面是Java3D加载3D模型的技术要点: 1. Java3D概述 Java3D是一种基于Java的三维图形编程接口,由Sun ...

    Java加载dll,导致Java进程内存泄露

    标题“Java加载dll,导致Java进程内存泄露”涉及到的是Java平台与本地库(DLL)交互时可能出现的问题。在Java中,通过Java Native Interface (JNI) 可以调用C/C++编写的动态链接库(DLL),实现Java代码与本地代码的...

    java类加载器-tomcat中的类加载器

    Java 类加载器是Java虚拟机(JVM)的核心组成部分,它负责将编译后的字节码文件(.class文件)加载到JVM中并转换为运行时的数据结构。Tomcat,作为广泛使用的Java Servlet容器,它自定义了一套类加载机制,以满足Web...

    java 加载JDBC驱动程序

    加载JDBC驱动程序是Java应用程序访问数据库的第一步,这个过程涉及到Java的反射机制和Class.forName()方法。下面我们将深入探讨这一主题。 1. **JDBC驱动类型** JDBC驱动分为四种类型: - Type 1: JDBC-ODBC ...

    java类加载器学习三、类加载器的委托模式

    java类加载器学习三、类加载器的委托模式

    深入解析Java类加载器及其工作机制

    Java 类加载器是 Java 运行时环境中不可或缺的组成部分,负责将 .class 文件加载到 JVM 中。理解类加载器的工作原理对于深入掌握 Java 语言及其运行机制至关重要。本文将详细探讨 Java 类加载器的概念、类型以及工作...

    java生成PDF字体库包+PDF包亲测成功

    Java中,你可以通过iText库加载自定义字体库,以确保PDF文档中的文字能够按照预期显示。例如,如果你需要在PDF中使用中文字体,你需要一个包含中文字形的字体库,并将其加载到iText中。 以下是一个简化的代码示例,...

    java资源Java类重加载工具JReloader

    java资源Java类重加载工具 JReloader提取方式是百度网盘分享地址

    Java调用Groovy,实时动态加载数据库groovy脚本

    1. 引入Groovy库:在Java项目中添加Groovy的相关依赖,通常是`groovy-all`,确保Java能够访问Groovy运行时环境。 2. 创建GroovyClassLoader:使用这个类加载器可以动态加载和执行Groovy脚本。它继承自Java的...

    java调用dll或so库示例

    - **加载库**:在Java代码中加载生成的库文件,使用`System.loadLibrary`方法。 - **测试运行**:运行Java程序,调用本地方法,验证与本地库的交互是否正常。 4. **提供的编译脚本** - `clean.bat` 和 `clean.sh...

    企业知识库管理系统(java源码)

    企业知识库管理系统是一款基于Java语言开发的软件应用,主要用于企业内部知识的收集、存储、管理和分享。这个系统的核心目标是提升企业的知识管理效率,促进团队协作,提高员工的专业能力,从而推动企业的持续发展。...

    Java URLClassLoader动态加载jar包1

    Java URLClassLoader 是Java标准库中的一个类加载器,它允许我们动态地从指定的URL位置加载类和资源。这个功能在开发插件系统、热部署或者处理多种版本库的场景中非常有用。从JDK 1.2开始,`java.net.URLClassLoader...

    解决java打包之后无法加载静态资源的问题SWTResourceManager.java源码

    利用swt中的一个获取图片的类SwingResourceManager 来解决将程序打为使用java打包之后,生成的jar包中图片找不着的。这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成...

    java类加载机制

    启动类加载器使用C++编写,用于加载Java的核心库,而其他类加载器则用于加载应用程序类和其他库。在判断两个类是否相等时,必须确保这两个类是由同一个类加载器加载的,否则即使来源于同一个class文件,这两个类也被...

    JAVA WEB 题库管理系统

    《JAVA WEB 题库管理系统详解》 在信息化教育的时代,题库管理系统成为了教学与考试的重要辅助工具。本文将深入探讨一个基于JAVA WEB技术构建的题库管理系统,它集题目管理、图片支持、答题功能于一体,配合MySql...

Global site tag (gtag.js) - Google Analytics