Comment enregistrer le fichier dans la mémoire et lire le fichier flux de sortie?

Quand j'ai enregistrer le fichier que j'utilise:

File file = new File(filename);

Mais, depuis je n'ai plus de privilèges pour écrire dans des dossiers, je voudrais plutôt pour l'enregistrer dans la mémoire et ensuite lire le fichier à FileOutputStream.

J'ai lu, je peux enregistrer le fichier dans la mémoire avec cette approche:

new ByteArrayOutputStream(); 

Comment tout le code ressemble? Je peux pas comprendre comment l'écrire correctement après le téléchargement est terminé.

Edit: je suis en utilisant Vaadins télécharger le plugin:

public File file;

    public OutputStream receiveUpload(String filename,
                                      String mimeType) {

        //Create upload stream
        FileOutputStream fos = null; //Stream to write to
        file = null;

        if(StringUtils.containsIgnoreCase(filename, ".csv")){
            try {

                file = new File(filename);
                fos = new FileOutputStream(file);
            } catch (final java.io.FileNotFoundException e) {

                new Notification("Error", e.getMessage(), Notification.Type.WARNING_MESSAGE)
                    .show(Page.getCurrent());
                return null;
            }
        } else {

            new Notification("Document is not .csv file", Notification.Type.WARNING_MESSAGE)
                .show(Page.getCurrent());
            return null;
        }
        return fos; //Return the output stream to write to
    }
  • pourquoi avez-vous besoin de "sauver" il de la mémoire? le contenu de la mémoire "après le téléchargement est terminé" (peut-être que byte[] ou String)
  • "Comment l'ensemble du code ressemble?" Essayez-le, et revenez si vous avez une question spécifique.
  • sharobn.. comment puis-je récupérer ces contenus? Mon code est affiché T. J. Crowder. La Question est de savoir comment collecter des données sans écrire sur le disque et obtenir FileOutputStream de données
  • Il vous suffit de modifier cette méthode pour retourner return new ByteArrayOutputStream();. Vous pouvez utiliser ByteArrayOutputStream que tout autre OutputStream.
InformationsquelleAutor DarioBB | 2016-05-23