【问题标题】:My JApplet can't write to my APPDATA folder我的 JApplet 无法写入我的 APPDATA 文件夹
【发布时间】:2011-08-24 17:17:54
【问题描述】:

是的,我正在以小程序的形式制作基于文本的 RPG。此小程序在打开时会写入您的 APPDATA 目录。它可以在 IDE 中运行,但是当我在 Firefox 中尝试时,它会出现错误消息。 HERE 是链接。

File otherWorldDirectory = new File(System.getenv("APPDATA") + "\\.otherWorld");

if (!otherWorldDirectory.exists()) {
    //Adding the folder .otherWorld to the APPDATA
    otherWorldDirectory.mkdir();
    System.out.println("Directory '.otherWorld' created.");
} else {
    //The folder .otherWorld already exists.
    System.out.println("Directory '.otherWorld' is not created, it exists.");
}

【问题讨论】:

  • 您不能简单地写入客户端计算机上的本地文件夹 - 这是一个安全漏洞。重新审视你的设计!见this
  • 那怎么办?我需要签署 .jar 文件吗?还是直接保存到其他文件夹?

标签: java access-denied appdata japplet


【解决方案1】:

这是小程序的重点。除非他们是“受信任的”,否则他们无法访问用户的磁盘。您必须签署您的小程序才能访问用户的磁盘。

【讨论】:

    【解决方案2】:

    此小程序在打开时会写入您的 APPDATA 目录。

    不要那样做。苹果电脑。 & *nix 机器不会有它,& applet 可以访问 x-plat 的多种形式的持久性。

    • 沙盒
      1. Cookie
      2. JNLP API PersistenceService 见此 demo.
    • 值得信赖
      1. user.home 作为存储信息的 x-plat 位置。
      2. Preferences
      3. 向沙盒应用开放的所有方式。
      4. ...

    【讨论】:

    • 我不知道你刚才说什么。
    • 那我好像没办法帮你了。 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多