开发者

Java applet - access denied to file on same web server

开发者 https://www.devze.com 2022-12-24 14:14 出处:网络
I\'ve written a simple Java applet to generate a technical image based upon some data in a CSV file. I\'m passing in the CSV file as a parameter to the applet:

I've written a simple Java applet to generate a technical image based upon some data in a CSV file. I'm passing in the CSV file as a parameter to the applet:

<applet code = "assaymap.AssayMapApplet" archive = "http://localhost/applet_test/AssayMap.jar" height="600px" width="800px">
    <param name="csvFile" value="http://localhost/applet_test/test.csv">
</applet>

As far as I understood applet security restrictions, an applet should be able to read data from the host they're on.

These applets here http://www.jalview.org/examples/applets.开发者_如何学Gohtml are using the same approach of passing in a text data file as a parameter. So I'm not sure why my own applet isn't working.

I'm reading the file using the javacsv project on sourceforge.

My code for reading the CSV file is:

public static ArrayList<Assay> getData(String file) throws FileNotFoundException, IOException {

    ArrayList<Assay> assays = new ArrayList<Assay>();

    CsvReader reader = new CsvReader(file);
    reader.readHeaders();
    while (reader.readRecord()){
        int assay_id = Integer.valueOf(reader.get("assay_id"));
        String assay_name = reader.get("assay_name");
        float distance = Float.parseFloat(reader.get("distance"));
        assays.add(new Assay(assay_id, assay_name, distance));
    }

    return assays;
}

The error message I get thrown is:

Error with processing the CSV data.
java.security.AccessControlException: access denied (java.io.FilePermission http:\localhost\applet_test\test.csv read)


You are obviously trying to use "http://localhost/applet_test/test.csv" as a file name and not as a URL. Take a look at the URL and URLConnection classes in the java.net package and use these to read the content instead of java.io.File.

0

精彩评论

暂无评论...
验证码 换一张
取 消