2016-01-30 6 views
1

Le code suivant fonctionne pour enregistrer le fichier Data.csv et l'envoyer par courrier.Ecrire un fichier CSV et l'envoyer avec un autre nom comme pièce jointe dans android

Je veux enregistrer le fichier tel quel avec le nom actuel Data.csv, puis envoyer ce fichier avec un autre nom. Par exemple, newname.csv.

Le code envoie newname.csv mais il est enregistré dans l'appareil sous la forme Data.csv. Des idées sur ce que je fais mal?

Voici mon code:

/* Making A New File */ 
File dir = new File(root.getAbsolutePath() + "/FolderData"); 
dir.mkdirs(); 
file = new File(dir, "Data.csv"); 
out = new FileOutputStream(file); out.write(combinedString.getBytes()); 

//want to send the file Data.csv that is saved but with other name 
    File dir = new File(root.getAbsolutePath() + "/DeltioData"); 
      File file2 = new File(dir,"newname.csv"); 
      File Nf=file; 
      Nf.renameTo(file2); 
        // 

Uri u1 = Uri.fromFile(Nf); Intent sendIntent = new Intent(Intent.ACTION_SEND); 

sendIntent.putExtra(Intent.EXTRA_SUBJECT, "any subject"); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "Text"); 
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
sendIntent.putExtra(Intent.EXTRA_STREAM, u1); 
sendIntent.setType("text/html"); startActivity(sendIntent); 
+2

Où définissez-vous newname.csv? – Alfabravo

+0

Data.csv et newname.csv est le même fichier mais je veux enregistrer en tant que data.csv et envoyer en pièce jointe avec le nom newname.csv – Apollon

+0

Droit, mais où essayez-vous de définir newname.csv à l'attatchment? Il n'y a aucune ligne essayant de réaliser cela dans votre code – Alfabravo

Répondre

0

vous avez peut-être juste à

1 copie data.csv à newname.csv

2 envoyer newname.csv

3 -delete file newname.csv (si l'expéditeur est une activité, startForResult (démarrez l'intention mailer avec startActivityForResult) et supprimez le fichier sur ActivityResult)