2010-12-11 69 views
3

J'ai un programme qui prend l'entrée de S3, génère un fichier texte, puis l'envoie à la classe de mappeur. Je suis incapable d'écrire le fichier sur S3, d'où le mappeur peut le lire plus tard. Maintenant, je réalise que nous ne pouvons pas écrire des fichiers directement sur S3, donc j'essaye de télécharger le fichier texte créé en S3 en utilisant copyFromLocalFile(). Cependant, je reçois une exception de pointeur NULL dans la ligne suivante:Écrire des fichiers sur S3 via Java

fs.copyFromLocalFile (true, nouveau chemin (tgiPath), mapIP);

Je crée le fichier texte dans la fonction principale, donc je ne sais pas exactement où il est créé. La seule raison derrière l'exception null pointeur, que je peux penser est que le fichier texte n'est pas écrit sur le disque local. Donc ma question est: Comment puis-je écrire des fichiers sur le disque local? Si je spécifie juste le nom du fichier en le créant, où est-il créé et comment y accéder?

Répondre

0

Jetez un oeil à Jets3t

Cela semble être exactement ce dont vous avez besoin.

0

Jets3t est génial, mais j'utilise Google App Engine, et il ne fonctionne pas là-bas en raison de limitations de threads.

Je me suis cogné la tête contre le mur jusqu'à ce que je suis venu avec une solution qui a travaillé sur App Engine en combinant un groupe de bibliothèques existantes: http://socialappdev.com/using-amazon-s3-with-google-app-engine-02-2011