为什么我的applet中的CSV文件不起作用?

时间:2011-09-06 17:36:23

标签: java html csv applet

我创建了一个需要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的了解有限,所以我很想知道是否有人可以告诉我如何做到这一点,或者告诉我在哪里可以学习如何做到这一点。

1 个答案:

答案 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同时不接受URLInputStream,我建议你找另一个API。一个由业余爱好者写的。