我有一个程序从S3获取输入,生成一个文本文件,然后将其发送到mapper类。我无法将文件写入S3,映射器可以在以后读取它。现在,我意识到我们无法直接将文件写入S3,因此我尝试使用copyFromLocalFile()将创建的文本文件上传到S3。但是,我在以下行中得到一个空指针异常:
fs.copyFromLocalFile(true,new Path(tgiPath),mapIP);
我正在main函数中创建文本文件,所以我不确定它在哪里创建。空指针异常背后的唯一原因,我能想到的是文本文件没有写在本地磁盘上。所以我的问题是:如何在本地磁盘上写文件?如果我只是在创建文件时指定文件的名称,它在哪里创建,我该如何访问它?
答案 0 :(得分:0)
查看Jets3t
这似乎正是你所需要的。
答案 1 :(得分:0)
Jets3t很棒,但我使用的是Google的App Engine,由于线程限制,它无法在那里运行。
我把头撞到了墙上,直到我想出了一个可以通过组合一堆现有库来解决App Engine的解决方案:http://socialappdev.com/using-amazon-s3-with-google-app-engine-02-2011