[英]Why doesn't the CSV file in my applet work?
我創建了一個小程序,需要一個CSV文件來獲取信息。 小程序的工作方式是,有一個文本字段,您可以在其中鍵入您的郵政編碼,然后按一個按鈕。 這導致程序解析包含緯度和經度的CSV文件,然后在applet中的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的了解有限,所以我很想知道是否有人可以告訴我如何做到這一點,或者告訴我在哪里可以學習如何做到這一點。
CsvReader products = new CsvReader("zips.csv");
我的水晶球告訴我, CsvReader
假定String
代表一個File
對象。 它可能還有另一個接受URL
構造函數。
沙盒小程序無法訪問File
對象,受信任的applet只能訪問最終用戶計算機上的File
對象。 這對這個小程序沒用。 如果API有一個接受URL
的構造函數,那么就是這里使用的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
CsvReader
接受InputStream
,我建議您找到另一個API。 一個不是業余愛好者寫的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.