Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
如何用java在googleapp中编写csv文件_Java_Google App Engine_Csv - Fatal编程技术网

如何用java在googleapp中编写csv文件

如何用java在googleapp中编写csv文件,java,google-app-engine,csv,Java,Google App Engine,Csv,我目前正在谷歌appengine上进行一个用Java完成的项目。我有2000多张唱片 Appengine不允许存储文件,因此无法使用任何磁盘上的表示对象。其中一些包括File类 我想写数据并将其导出到几个csv文件中,供用户下载 在不使用任何文件类的情况下如何执行此操作?我在文件处理方面不是很有经验,所以我希望你们能给我一些建议 谢谢。您可以使用字节数组、stings和streams将数据存储在内存中。比如说, ByteArrayOutputStream csv = new ByteArrayO

我目前正在谷歌appengine上进行一个用Java完成的项目。我有2000多张唱片

Appengine不允许存储文件,因此无法使用任何磁盘上的表示对象。其中一些包括File类

我想写数据并将其导出到几个csv文件中,供用户下载

在不使用任何文件类的情况下如何执行此操作?我在文件处理方面不是很有经验,所以我希望你们能给我一些建议


谢谢。

您可以使用字节数组、stings和streams将数据存储在内存中。比如说,

ByteArrayOutputStream csv = new ByteArrayOutputStream();
PrintStream printer = new PrintStream(csv);
printer.println("a;b;c");
printer.println("1;2;3");
printer.close();
csv.close();

然后在Servlet中,您可以将csv.toByteArray()作为流提供。这里给出了一些示例:.

只需使用StringBuffer在内存中生成csv,然后使用
StringBuffer.toString().getBytes()
获取字节数组,然后将其发送到输出流

例如,如果在GAE中使用servlet:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
  StringBuffer buffer = new StringBuffer();
  buffer.append("header1, header2, header3\n");
  buffer.append("row1column1, row1column2, row1column3\n");
  buffer.append("row2column1, row2column2, row2column3\n");
  // Add more CSV data to the buffer

  byte[] bytes = buffer.toString().getBytes();

  // This will suggest a filename for the browser to use
  resp.addHeader("Content-Disposition", "attachment; filename=\"myFile.csv\"");

  resp.getOutputStream().write(bytes, 0, bytes.length);
}
更多关于


有关

您可以使用Google App Engine中的库的更多信息。

您好,感谢您的重播。我是Google App新手,请告诉我如何将csv添加到缓冲区,在写入csv文件后,我想下载该文件。我如何处理重播我将数据添加到StringBuffer,但在写入文件后,我在何处创建该文件要下载该文件。请在我提供文件名的地方帮助我。我对谷歌应用程序和Java不熟悉。感谢使用OpenCSV进行重播。我可以在谷歌应用程序中写入csv文件吗?你可以将其保存在BlobStore中。看看你。感谢重播,因为我想从数据库中读取用户信息,并将信息存储在for of中csv文件。现在如何创建csv文件意味着谷歌应用程序不允许创建自己的文件。耶。感谢您的重播。我想将用户信息存储在csv文件中,但在谷歌应用程序中,我们无法编写自己的文件。现在如何编写csv文件