我创建了一个需要CSV文件的applet来获取信息。小程序的工作方式是,有一个文本字段,您可以在其中键入您的邮政编码,然后按一个按钮。这会导致程序解析包含纬度和经度的CSV文件,然后在小程序中的JLabel
上显示纬度和经度。
当我创建它时,我对其进行了调试并对其进行了测试,因此我知道它可以在我的桌面上运行(在eclipse中运行时)。问题是,当我放入网络时,它显示但无法执行任何操作,这意味着它只是一个带有文本字段和按钮的小程序,但是当您按下按钮时,没有任何反应。我知道它不是我的ActionListener
,因为它可以在桌面上运行,但我必须对它的HTML做错。 CSV文件的名称为zips.csv
。主要类的名称为main.class
(或main.java
),动作监听器为myActionListener.class
(或myActionListener.java
)。
以下是我正在使用的HTML:
<applet archive="sites/default/files/myApplet.jar" code="main.class" width="500" height="200">
</applet>
修订:
其他人推荐给我的其他东西是创建一个解析csv文件的php脚本,而不是将该值返回给java applet。我对PHP的了解有限,所以我很想知道是否有人可以告诉我如何做到这一点,或者告诉我在哪里可以学习如何做到这一点。
答案 0 :(得分:2)
CsvReader products = new CsvReader("zips.csv");
我的水晶球告诉我CsvReader
假定String
代表File
个对象。它可能还有另一个接受URL
的构造函数。
沙盒小程序无法访问File
个对象,受信任的小程序只能访问最终用户计算机上的File
个对象。这对这个小程序没用。如果API有一个接受URL
的构造函数,那么就是这里使用的构造函数。类似的东西:
URL url = this.getClass().getResource("zips.csv");
//CsvReader products = new CsvReader(url);
InputStream is = url.openStream();
CsvReader products = new CsvReader(is);
接受InputStream
的构造函数更加通用,只有一行更长。
如果CsvReader
同时不接受URL
或InputStream
,我建议你找另一个API。一个不由业余爱好者写的。