Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232

    [java] Da DataOutputStream a FileOutputStream...

    Salve a tutti, ho questa esigenza...
    ...mi spiego...devo creare un file e scriverlo su un URL che è "http://localhost:8080/prova.pdf"

    per aprire la connessione all'URL faccio così
    codice:
    URL mioURL = new URL();
    connection = mioURL.openConnection(http://localhost:8080/prova.pdf);
    boolean f = true;
    connection.setDoOutput(f);
    DataOutputStream fos = new DataOutputStream (connection.getOutputStream());
    Adesso (ammesso che quello scritto sopra sia corretto), devo dare il path con l'URL ad un metodo
    che mi crea un pdf al path specificato (attualmente avrei il path nell'oggetto "fos")....il problema
    è che se passo fos al metodo per la creazione del pdf, mi dà errore, tale metodo vuole un
    FileOutputStream...come posso risolvere?

    Come posso avere un oggetto DataOutputStream in un FileOutputStream???

    o comunque quale il modo per poter creare sto file sull'URL specificato??

    Grazie a tutti.

  2. #2
    codice:
        try{
            URL u = new URL("http://127.0.0.1/temp.pdf");
            InputStream is = u.openStream();
            FileOutputStream fos = new FileOutputStream("c:/temp.pdf");
            int c=0;
            while((c=is.read())!= -1){
                fos.write(c);
            }
    
            fos.close();
        }catch(Exception e){
            System.out.println("Eccezione: " + e.toString());
        }

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    adesso provo grazie...lo stesso lo posso fare per un FileInputStream?

  4. #4
    non capisco la tua richiesta...potresti spiegare meglio che devi fare con questo FileInputStream?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    Ciao Viruz....ti ringrazio per la risposta...il problema è che il codice non funziona...mi spieghi
    meglio cosa fa???

    Non so se hai capito cosa devo fare io...io devo scrivere un file PDF su un URL che è

    "http://localhost:8080/prova.pdf"...

    fondamentalmente devo creare un pdf che si chiama "prova.pdf" al path specificato dall'URL

  6. #6
    quel codice semplicemente fa una get http sulla url specificata e salva quello che legge in un file...
    dovresti spiegare un po' meglio ciò che devi fare perche non ancora capito....

  7. #7
    ah no aspè ho capito...tu vuoi aprire una url e scriverci un file dentro? beh credo che questo non si possa fare xchè al max verso una url puoi farci un post non scriverci un file come se stessi scrivendo su filesystem

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    e come posso fare allora? Dovrei crearlo localmente e fare un upload? Potresti darmi qualche riga di codice di esempio?

  9. #9
    Allora il discorso è questo:
    se la macchina sulla quale devi spostare questo file è in locale, allora lo sposti da filesystem a filesystem e questo lo sappiamo fare...
    se la macchina è remota e hai a disposizione un server http, allora:
    dal client devi effettuare una post http o in qualsiasi altra forma, verso una pagina dinamica che accetta la post con il file e lo salva su file system...

  10. #10
    Ecco un po' di codice per fare una POST HTTP di un file
    codice:
            String bndry = "AaB03x";
            String paramName = "file";
            String fileName = "filename.txt";
            HttpURLConnection httpcon = (HttpURLConnection) ((new URL(url).openConnection()));
            httpcon.setDoOutput(true);
            httpcon.setRequestMethod("POST");
            httpcon.setRequestProperty("Content-type", "multipart/form-data, boundary=" +bndry);
            httpcon.connect();
            File file = new File(docPath);
            FileInputStream is = new FileInputStream(file);
            OutputStream os = httpcon.getOutputStream();
            String disptn = "--" +bndry
    +"\r\ncontent-disposition: form-data; name=\"" +paramName
    +"\"; filename=\"" +fileName 
    +"\"\r\nContent-Type: text/plain\r\n\r\n";
            os.write(disptn.getBytes());
    
    
            byte[] buffer = new byte[4096];
            int bytes_read;
            while((bytes_read = is.read(buffer)) != -1) {
                os.write(buffer, 0, bytes_read);
            }
    
            String boundar = "\r\n--" +bndry +"--";
            os.write(boundar.getBytes()); 
    
            os.flush();
            os.close();
            is.close();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.