2011-06-07 109 views
0

当我使用应用程序引擎来开发我的应用程序,并且我只想使用代码读取存储在gaevfs中的文件:this.shpAccessFile = new RandomAccessFile(this.shpFileName,“r” );但它会抛出新的AccessControlException(“拒绝访问”+ perm,perm);那么有人能告诉我如何解决这个问题吗?应用程序引擎java.security.AccessControlException

java.security.AccessControlException: access denied (java.io.FilePermission gae:\F:\workspace\GeoCloud\war\gaevfs\cecc8aa0-7405-102e-b976-026d7f000001\longrive.shp read) 
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 
    at java.security.AccessController.checkPermission(AccessController.java:546) 
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
    at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166) 
    at java.lang.SecurityManager.checkRead(SecurityManager.java:871) 
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:203) 
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:98) 
    at com.vobject.appengine.java.io.RandomAccessFile.<init>(RandomAccessFile.java:90) 
+0

你的代码在做什么来实现这个目标?看起来您可能正在尝试写入文件--App Engine应用程序不具有对文件系统的写入权限,只有数据存储区和Blob存储区。 http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox – 2011-06-07 14:38:08

+0

我只想读取使用代码存储在gaevfs中的文件:this.shpAccessFile = new RandomAccessFile(this.shpFileName,“r “);但它会抛出新的AccessControlException(“拒绝访问”+ perm,perm);那么你能告诉我如何解决这个问题吗? – lmarsxiu 2011-06-08 02:24:32

回答

2

您是否关注此guideline

+0

我认为我遵循指导原则。我需要读取的文件存储在GAEVFS中,因此它不在以下位置:war/WEB-INF。存储在GAEVFS中的文件的路径为gae:/// F:/ workspace/GeoCloud/war/****。我用来从文件读取的方法是RandomAccessFile。 – lmarsxiu 2011-06-08 08:53:49