文档

Java™教程
隐藏目录
寻找和加载数据文件
路径:部署
课程:Java Applets
章节:更多Applets操作

查找和加载数据文件

当Java applet需要从指定了相对URL(未完全指定文件位置的URL)的文件中加载数据时,通常使用代码基础(code base)或文档基础(document base)来形成完整的URL。

代码基础由JAppletgetCodeBase方法返回,它是一个指定applet类所加载的目录的URL。对于本地部署的applet,getCodeBase方法返回null。

文档基础由JAppletgetDocumentBase方法返回,它指定包含applet的HTML页面的目录。对于本地部署的applet,getDocumentBase方法返回null。

除非<applet>标签指定了代码基础,否则代码基础和文档基础指的是同一台服务器上的同一目录。

applet可能需要的数据,或者需要作为备份依赖的数据,通常相对于代码基础来指定。applet开发人员指定的数据通常相对于文档基础来指定,通常使用参数来指定。


注意: 出于安全原因,浏览器限制了不受信任的applet可以读取的URL。例如,大多数浏览器不允许不受信任的applet使用".. "来访问代码基础或文档基础上面的目录。此外,由于不受信任的applet无法读取除了源自applet所在主机的那些文件之外的文件,所以如果文档和不受信任的applet位于不同的服务器上,文档基础通常没有用处。

JApplet类定义了方便的图像加载和声音加载方法的形式,可以相对于基础URL来指定图像和声音。例如,假设applet设置了以下其中一种目录结构:

两个目录结构示例,显示图像文件和类文件在不同位置,结构不同。

要创建一个使用imgDir下的a.gif图像文件的Image对象,applet可以使用以下代码:

Image image = getImage(getCodeBase(), "imgDir/a.gif");

上一页: 使用Applets进行更多操作
下一页: 定义和使用Applet参数