So speichern Sie die Datei in den Speicher und Lesen der Datei-Ausgabe-stream?

Wenn ich Datei speichern, die ich verwenden:

File file = new File(filename);

Aber, da ich nicht mehr die Berechtigung zum schreiben auf Ordner, ich möchte vielmehr, um es zu speichern, um Speicher und dann die Datei Lesen zu FileOutputStream.

Habe ich gelesen, ich kann speichern Sie die Datei in memory-mit diesem Ansatz:

new ByteArrayOutputStream(); 

Wie würde der komplette code Aussehen? Ich kann nicht herausfinden, wie zu schreiben es richtig, nach dem upload fertig ist.

Edit: ich bin mit Vaadins laden Sie das 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
    }
  • warum brauchen Sie, um "speichern", um es in Erinnerung? die Inhalte sind im Speicher "nach dem upload ist fertig" (vielleicht als byte[] oder String)
  • "Wie würde der komplette code Aussehen?" Probieren Sie es aus, und kommen zurück, wenn Sie eine konkrete Frage haben.
  • sharobn.. wie erhalte ich diese Inhalte? Mein code wird angezeigt, T. J. Crowder. Frage ist, wie die Daten zu sammeln, ohne das schreiben auf Disk bekommen und FileOutputStream die Daten
  • Sie können einfach ändern Sie diese Methode zurück return new ByteArrayOutputStream();. Sie können ByteArrayOutputStream wie jeder andere OutputStream.
InformationsquelleAutor DarioBB | 2016-05-23
Schreibe einen Kommentar