Google App Engine是否允许在服务器上创建文件和文件夹? [英] Does Google App Engine allow creation of files and folders on the server?

查看:112
本文介绍了Google App Engine是否允许在服务器上创建文件和文件夹?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道Google App Engine提供了可用空间,但是我不知道是将数据仅存储在数据库中还是允许我在服务器端创建文件和目录来存储我的数据?例如,我可以使用以下方法保存文件吗?

  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); (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请求。


  • 产生一个子进程或线程。对应用程序的Web请求必须在几秒钟内在单个进程中处理。


  • 进行其他类型的系统调用。



I know Google App Engine offers free space, but I wonder if it's for storing data in its database only or does it also allow me to create files and directories on the server side to store my data ? For instance can I use the following method to save file ?

  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(); }
    }
  }

解决方案

You can read files from your own project - You cannot write to the file system

from the FAQ ...

Why can't I write to this file?

Writing to local files is not supported in App Engine due to the distributed nature of your application. Instead, data which must be persisted should be stored in the distributed datastore. For more information see the documentation on the runtime sandbox

An App Engine application cannot:

  • write to the filesystem. Applications must use the App Engine datastore for storing persistent data. Reading from the filesystem is allowed, and all application files uploaded with the application are available.

  • open a socket or access another host directly. An application can use the App Engine URL fetch service to make HTTP and HTTPS requests to other hosts on ports 80 and 443, respectively.

  • spawn a sub-process or thread. A web request to an application must be handled in a single process within a few seconds. Processes that take a very long time to respond are terminated to avoid overloading the web server.

  • make other kinds of system calls.

这篇关于Google App Engine是否允许在服务器上创建文件和文件夹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆