Google App Engine是否允许在服务器上创build文件和文件夹?
我知道Google App Engine提供了免费的空间,但是我想知道是否只是将数据存储在数据库中,还是允许我在服务器端创build文件和目录来存储数据? 比如我可以用下面的方法保存文件吗?
public static void saveFile(String File_Path,StringBuffer Str_Buf,boolean Append) { FileOutputStream fos=null; BufferedOutputStream bos=null; try { fos=new FileOutputStream(File_Path,Append); bos=new BufferedOutputStream(fos); for (int j=0;j<Str_Buf.length();j++) bos.write(Str_Buf.charAt(j)); } catch (Exception e) { e.printStackTrace(); } finally { try { if (bos!=null) { bos.close(); bos=null; } if (fos!=null) { fos.close(); fos=null; } } catch (Exception ex) { ex.printStackTrace(); } } }
您可以从您自己的项目中读取文件 – 您无法写入文件系统
从常见问题…
为什么我不能写入这个文件?
由于应用程序的分布式特性,在App Engine中不支持写入本地文件。 相反,必须保存的数据应存储在分布式数据存储中。 有关更多信息,请参阅运行时沙箱上的文档
App Engine应用程序不能:
-
写入文件系统。 应用程序必须使用App Engine数据存储来存储持久性数据。 允许从文件系统读取,并且可以使用与应用程序一起上传的所有应用程序文件。
-
直接打开一个套接字或访问另一个主机。 应用程序可以使用App Engine URL提取服务分别向端口80和443上的其他主机发出HTTP和HTTPS请求。
-
产生一个subprocess或线程。 对应用程序的Web请求必须在几秒钟内在单个进程中处理。 需要很长时间才能响应的进程将被终止以避免Web服务器过载。
-
进行其他types的系统调用。
不,文件I / O是不允许的。 您可以使用blob来存储图像或文本。
新的信息。 答案是肯定的,但是你必须使用他们的云存储来进行写访问。 你不能使用普通的文件来达到你的目的。
https://developers.google.com/appengine/docs/java/googlecloudstorageclient/
它还具有Python API以及RESTful API。
我认为应该提到的是,使用文件API写入blobstore 现在已经被弃用了 ,Google正在转向云存储。