簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM