java - 文件操作在 Java Web Start 中不起作用

标签 java netbeans file-io java-web-start

我构建了这个处理文件的程序。因为我是为 friend 制作的,所以我将其制作成 Java Web Start 应用程序,并配有 JNLP 文件。

当我在没有 JNLP 的情况下通过 ANT (netbeans) 启动应用程序时,它工作得很好。但是,当通过 JNLP(甚至通过 netbeans)启动时,本应执行所需操作的按钮却什么也不做(它只是保持在“单击”模式,直到您将鼠标悬停在远离它的位置)。

我花了几个小时试图找出问题所在,但没有成功。

这是有问题的方法:

public void copy(String path1, String path2) 抛出 IOException {

    File inputWorkbook = new File(inputFile);
    Path in = Paths.get(path1);
    Path out = Paths.get(path2);



    Workbook w;
    try {
        w = Workbook.getWorkbook(inputWorkbook);
    .
    .
    .

如果我不尝试对 inputWorkbook 文件执行任何操作,则一切正常。一旦我尝试对其执行任何类型的方法(例如 w = Workbook.getWorkbook(inputWorkbook),甚至 inputWorkbook.exsists();),就会出现问题。它甚至不会抛出异常,它只是不执行任何操作...同样,该问题仅在通过 JNLP 文件启动程序时出现。

我希望我能够解释这个问题......我是编程新手。

谢谢!!!

亚当

最佳答案

Webstart 应用程序在安全沙箱中运行,这会阻止访问文件系统。您需要对 har 进行数字签名才能访问文件系统,或者使用文件打开 api。请参阅http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/faq.html#302http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/examples.html#FileOpenService了解更多信息。

关于java - 文件操作在 Java Web Start 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7908783/

相关文章:

java - 如何将输入传递到 Kubernetes 容器内的 Java 应用程序?

java - postgresql jpa earth_distance 查询

java - 将MySQL中的数据存储到多维数组中?

java - 如何写入和读取同一个文件

python - 如何在读取文件内容时写入文本文件的中间部分?

java - 不能在 JDBC PreparedStatement 中使用 LIKE 查询?

java - 在应用程序服务器级别配置数据源与 Spring 的 applicationContext 的优点/缺点

JavaFX 3d 示例

java - Maven Netbeans 应用程序找不到 ServiceProvider

java - Windows:移动先前映射到内存中的文件失败