Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的GWT应用程序运行时(java.io.FilePermission)上没有对文件的读/写访问权限_Java_Google App Engine - Fatal编程技术网

在我的GWT应用程序运行时(java.io.FilePermission)上没有对文件的读/写访问权限

在我的GWT应用程序运行时(java.io.FilePermission)上没有对文件的读/写访问权限,java,google-app-engine,Java,Google App Engine,尝试运行GWT应用程序时,我在运行时遇到此错误: ­java.security.AccessControlException: access denied (java.io.FilePermission C:\Users\Admin\AppData\Local\Temp\tmp-andami read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessCont

尝试运行GWT应用程序时,我在运行时遇到此错误:

­java.security.AccessControlException: access denied (java.io.FilePermission C:\Users\Admin\AppData\Local\Temp\tmp-andami read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
(堆栈跟踪较长,但我想这足以解决问题源)

我在谷歌上搜索过这个问题,我发现,一般来说,我可以更改java.policy文件(位于C:\Program Files\java\jre6\lib\security)的权限,所以我做了如下操作:

permission java.io.FilePermission "<<ALL FILES>>" , "read";
permission java.io.FilePermission "C:\Users\Admin\AppData\Local\Temp\tmp-andami" , "read";
permission java.security.AllPermission;
但我需要写这个文件,在这里或在另一个路径,我不在乎。我曾尝试在“C:/”下编写该文件,但得到了相同的结果

你知道这个问题吗?我做错什么了吗

多谢各位


但我使用的是从“服务器”包端访问文件系统,而不是包含可翻译代码的“客户端”

我认为这样做是可能的

那么,我能做什么?它应该存在一种访问本地文件系统的方法,不是吗?或者至少是做同样事情的另一种方式

那么,将此文件放在本地部署的应用程序文件系统下如何?我是说,在“战争”目录下或者类似的目录下。如果浏览器可以访问此文件夹以读取.jars等,是否可以执行相同的操作,但有其他用途


谢谢你的帮助

GWT将您的代码编译成在浏览器中运行的JavaScript。JavaScript无法访问您的文件系统(有充分的理由)


java.io.FilePermission
未在中列出,因此您不能在客户端代码中使用它,因此它甚至不能使用GWT进行编译。

GWT将您的代码编译为在浏览器中运行的JavaScript。JavaScript无法访问您的文件系统(有充分的理由)


java.io.FilePermission
未在中列出,因此您不能在客户端代码中使用它,因此它甚至不能使用GWT进行编译。

您无法读取或写入App Engine上的临时文件。您可以读取应用程序上载的文件,但不能写入新文件或访问应用程序外部的任何文件。

您不能读取或写入应用程序引擎上的临时文件。您可以读取应用程序上载的文件,但不能写入新文件或访问应用程序外部的任何文件。

但我不是从客户端代码调用java.io.FilePermission。在我的应用程序中,我将两个源链接到我的项目,其中一个称为“LibRemoteServices”,其中有一个“Utilities.java”文件将在最后调用该类。但是客户端代码和链接的源代码都在不同的包和文件夹中。顺便说一句,我得到一个错误,上面说:“Google App Engine的java运行时环境不支持java.io.FileOutput(也是java.rmi.NoSuchObjectException)”。我从应用程序引擎验证中排除了“Utilities.java”,但在运行时仍然会遇到相同的错误。那么,我该怎么办?是否尝试将这些库的使用替换为AppEngine接受的其他库?谢谢,但我不是从客户端代码调用java.io.FilePermission。在我的应用程序中,我将两个源链接到我的项目,其中一个称为“LibRemoteServices”,其中有一个“Utilities.java”文件将在最后调用该类。但是客户端代码和链接的源代码都在不同的包和文件夹中。顺便说一句,我得到一个错误,上面说:“Google App Engine的java运行时环境不支持java.io.FileOutput(也是java.rmi.NoSuchObjectException)”。我从应用程序引擎验证中排除了“Utilities.java”,但在运行时仍然会遇到相同的错误。那么,我该怎么办?是否尝试将这些库的使用替换为AppEngine接受的其他库?谢谢你的应用程序中那些你只能读不能写的东西。啊哈,谢谢。最后我放弃了使用AppEngine,因为我真的需要编写一些临时文件。Thx!:)@艾琳为什么?我还没有看到过一个需要编写临时文件的用例——文件只是存储数据的多种方法之一。而应用程序中的那些方法你只能读,不能写。啊哈,谢谢。最后我放弃了使用AppEngine,因为我真的需要编写一些临时文件。Thx!:)@艾琳为什么?我还没有看到一个需要编写临时文件的用例——文件只是存储数据的多种方法之一。
private static final String tempDirectoryPath = 
System.getProperty("java.io.tmpdir")+"/tmp-andami";