java - 如何获取 Java 小程序中的文件列表?

标签 java applet readfile

我正在用 Java 开发一个协作项目,我认为将它作为一个小程序嵌入到网页中是最简单的,然后每个人都可以在创建它们时添加他们的子类(奖励、敌人等)到各自的文件夹中。为了完成这项工作,我希望小程序检查网站上的文件夹,收集每个文件夹中的文件名,然后将这些类名放入一个数组中,因为它们都是随机生成的。

我最初尝试制作一个 File 对象并调用 .listFiles() 将其放入一个数组中,但是文件对象无法识别我给它的路径,getCodeBase().toString()+"bonus。 txt",所以我尝试将所有类的名称放在一个文件夹中的 .txt 文件中,打开文件,然后读取每一行。这在 Eclipse 中可行,但是当我将 .class 和 .txt 文件上传到网站时,出现权限错误,所以我将类放入 .jar 中,自行签名并再次上传,但小程序无法运行, 它只是卡住了。
任何时候我没有文件检索语句,无论是在 .jar 中还是在 .jar 之外,小程序都可以正常工作,但如果我有这些代码行,它就会卡住或出错。

我试过 new scanner(new file("bonus.txt")); 通过谷歌找到类似问题的缓冲阅读器的不同变体,以及通过 File 类加载地址的不同方式,但都没有奏效。

到目前为止,我一直试图让 applet 做到这一点只是加载一个 .txt 文件(与 .class 文件在同一目录中),读取内容并在 applet 中打印它们,但没有成功。如果您能指出正确的方向,我将不胜感激。

最佳答案

File 由(受信任的)applet 建立,将指向最终用户计算机文件系统上的一个位置(该位置可能不存在)。 File 对象永远不会指向服务器,这不是它们的工作方式。

要从小程序访问资源,您通常会使用 URL。例如

URL urlToList = new URL(getCodeBase(), "bonus.txt");
Scanner scanner = new Scanner(urlToList.openStream());

请注意,这两行都不需要对小程序进行签名/信任。

关于java - 如何获取 Java 小程序中的文件列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8798856/

相关文章:

java - 访问小程序时出现ClassNotFoundException,但仅限于某些

c - 在函数外访问 char 数组但在函数内不访问时出现段错误

java - java.util.ServiceLoader 是否只加载服务的单个实例

java - Java 语言规范中哪里定义了运行时字节序?

java - Win32 GUI 演示应用程序到 Java(小程序)GUI

java - 如何欺骗 Java 服务提供者 API (jaxp)

readRDS 无法读取 R 中的文件。有替代方法吗?

PHP 读取带有以下标签的文本文件

java - 用于权限异常的内置java异常类型

java - 安卓 : callback function from java script to java